本文整理汇总了C#中IocContainer.RegisterInstance方法的典型用法代码示例。如果您正苦于以下问题:C# IocContainer.RegisterInstance方法的具体用法?C# IocContainer.RegisterInstance怎么用?C# IocContainer.RegisterInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IocContainer
的用法示例。
在下文中一共展示了IocContainer.RegisterInstance方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TryResolveAllReturnsExpectedInstances
public void TryResolveAllReturnsExpectedInstances()
{
using (var container = new IocContainer())
{
// Arrange
var foo1 = new Foo1();
var foo2 = new Foo2();
var foo3 = new Foo2();
var bar1 = new Bar1();
container.RegisterInstance<IFoo>(foo1);
container.RegisterInstance<IFoo>(foo2, "Foo1");
container.RegisterInstance<IFoo>(foo3, "Foo2");
container.RegisterInstance<IBar>(bar1);
// Act
var results = container.TryResolveAll<IFoo>();
var resultList = results.ToList();
// Assert
Assert.IsTrue(results.Count() == 3);
CollectionAssert.Contains(resultList, foo1);
CollectionAssert.Contains(resultList, foo2);
CollectionAssert.Contains(resultList, foo3);
}
}
示例2: MunqUseCase
static MunqUseCase()
{
container = new IocContainer();
singleton = new Munq.LifetimeManagers.ContainerLifetime();
container.Register<IWebService>(
c => new WebService(
c.Resolve<IAuthenticator>(),
c.Resolve<IStockQuote>()));
container.Register<IAuthenticator>(
c => new Authenticator(
c.Resolve<ILogger>(),
c.Resolve<IErrorHandler>(),
c.Resolve<IDatabase>()));
container.Register<IStockQuote>(
c => new StockQuote(
c.Resolve<ILogger>(),
c.Resolve<IErrorHandler>(),
c.Resolve<IDatabase>()));
container.Register<IDatabase>(
c => new Database(
c.Resolve<ILogger>(),
c.Resolve<IErrorHandler>()));
container.Register<IErrorHandler>(
c => new ErrorHandler(c.Resolve<ILogger>()));
container.RegisterInstance<ILogger>(new Logger())
.WithLifetimeManager(singleton);
}
示例3: TryResolveAllByTypeNotRegisteredReturnsEmptyEnumerable
public void TryResolveAllByTypeNotRegisteredReturnsEmptyEnumerable()
{
using (var container = new IocContainer())
{
// Arrange
var foo1 = new Foo1();
var foo2 = new Foo2();
var bar1 = new Bar1();
container.RegisterInstance<IFoo>(foo1);
container.RegisterInstance<IFoo>(foo2, "Foo");
container.RegisterInstance<IBar>(bar1);
// Act
var results = container.TryResolveAll<IFooBar>();
// Assert
Assert.IsTrue(results.Count() == 0);
}
}
示例4: TryResolveByNameReturnsExpectedInstance
public void TryResolveByNameReturnsExpectedInstance()
{
using (var container = new IocContainer())
{
// Arrange
var foo = new Foo1();
container.RegisterInstance<IFoo>(foo, "Foo");
// Act
IFoo obj;
var result = container.TryResolve<IFoo>("Foo", out obj);
// Assert
Assert.AreSame(obj, foo);
Assert.IsTrue(result);
}
}
示例5: Configure
public static void Configure(IocContainer container, ILifetimeManager lifetime)
{
CreateComponentMappedProperties
.AddRuleForIdentifyingComponents(
x => x.ReturnType().GetCustomAttributes(typeof(ValueTypeAttribute), false).Any());
var cs = ConfigurationManager.ConnectionStrings["Project1"].ConnectionString;
var configuration = ConfigurationBuilder.New(true)
.ForSql2008(cs)
.MapEntities(typeof (User).Assembly.GetTypes(), MatchEntities.WithIdProperty);
//Environment.UseReflectionOptimizer = false;
configuration.SetProperty(Environment.GenerateStatistics, "true");
configuration.SetProperty(Environment.BatchSize, "10");
configuration.SetProperty(Environment.ConnectionDriver,
typeof(ProfiledSql2008ClientDriver).AssemblyQualifiedName);
new SchemaUpdate(configuration).Execute(s => Debug.WriteLine(s), true);
{
//Set up some black magic that allows us to use Fac to create our entities
Fac.Default.Interceptors.Add(t => new MarkerInterceptor(t));
Fac.Default.TypesToImplement.Add(t => typeof (IMarkerInterface));
configuration.InterceptObjectInstantiation(container.Resolve<ISessionFactory>, Fac.New);
}
var sf = configuration.BuildSessionFactory();
NullabilityRules.AddNotNullAttribute<NotNullAttribute>();
//NhCodeFirst.UserTypes.SerializedUserType.Deserialize = JsonSerializer.DeserializeFromString;
//NhCodeFirst.UserTypes.SerializedUserType.Serialize = JsonSerializer.SerializeToString;
configuration.ExecuteAuxilliaryDatabaseScripts(sf);
container.RegisterInstance(sf);
container.Register(k => k.Resolve<ISessionFactory>().OpenSession()).WithLifetimeManager(lifetime);
}