本文整理汇总了C#中Container.RegisterTransient方法的典型用法代码示例。如果您正苦于以下问题:C# Container.RegisterTransient方法的具体用法?C# Container.RegisterTransient怎么用?C# Container.RegisterTransient使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Container
的用法示例。
在下文中一共展示了Container.RegisterTransient方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Test_CaptiveDependency_Transient_Transient
public void Test_CaptiveDependency_Transient_Transient()
{
var container = new Container(log: Write);
container.RegisterTransient<ClassA>();
container.RegisterTransient<ClassB>();
container.Resolve<ClassA>();
}
示例2: T04_Concrete_Interface
public void T04_Concrete_Interface()
{
var container = new Container(log: Write);
container.RegisterTransient<ISomeClass>();
container.RegisterTransient<SomeClass>();
var instance5 = container.Resolve<SomeClass>();
var instance6 = container.Resolve<ISomeClass>();
Assert.NotEqual(instance6, instance5);
}
示例3: T03_Interface
public void T03_Interface()
{
var container = new Container(log: Write);
container.RegisterTransient<ISomeClass>();
Assert.Throws<TypeAccessException>(() => container.RegisterTransient<ISomeClass>()).WriteMessageTo(Write);
var instance3 = container.Resolve<ISomeClass>();
var instance4 = container.Resolve<ISomeClass>();
Assert.NotEqual(instance3, instance4);
Assert.Throws<TypeAccessException>(() => container.Resolve<SomeClass>()).WriteMessageTo(Write);
}
示例4: Test_CaptiveDependency_Singleton_Transient
public void Test_CaptiveDependency_Singleton_Transient()
{
var container = new Container(log: Write);
container.RegisterSingleton<ClassA>();
container.RegisterTransient<ClassB>();
Assert.Throws<TypeAccessException>(() => container.Resolve<ClassA>()).WriteMessageTo(Write);
}
示例5: T00_injection
public void T00_injection()
{
var container = new Container();
container.RegisterSingleton<SomeClass2>();
container.RegisterTransient<SomeClass>();
var instance = container.Resolve<SomeClass2>();
Assert.NotEqual(instance.Factory(), instance.Factory());
}
示例6: T02_Concrete
public void T02_Concrete()
{
var container = new Container(log: Write);
container.RegisterTransient<SomeClass>();
var instance1 = container.Resolve<SomeClass>();
var instance2 = container.Resolve<SomeClass>();
Assert.NotEqual(instance1, instance2);
}
示例7: T01_transient_factory
public void T01_transient_factory()
{
var container = new Container();
container.RegisterTransient<ISomeClass, SomeClass>();
var factory = container.Resolve<Func<ISomeClass>>();
Assert.IsType(typeof(SomeClass), factory());
Assert.NotEqual(factory(), factory());
}
示例8: T01_factory_from_transient
public void T01_factory_from_transient()
{
var container = new Container(log: Write);
container.RegisterTransient<SomeClass>();
var factory = container.Resolve<Func<SomeClass>>();
Assert.IsType(typeof(SomeClass), factory());
Assert.NotEqual(factory(), factory());
}
示例9: SetUp
public void SetUp()
{
binder = new Container();
binder.RegisterTransient<ITestInterface, TestClass>();
factory = new GameObjectFactory(binder);
sw = new Stopwatch();
prefab = new GameObject();
prefab.AddComponent<TestMono>();
instances = new GameObject[500000];
}
示例10: T03_Dispose_Other
public void T03_Dispose_Other()
{
var container = new Container(defaultLifestyle: DefaultLifestyle.Singleton, log: Write);
container.RegisterTransient<ClassA>();
var instance = container.Resolve<ClassA>();
container.Dispose();
Assert.False(instance.IsDisposed);
container.RegisterFactory(() => instance);
container.Dispose();
Assert.False(instance.IsDisposed);
}
示例11: T01_Already_Registered
public void T01_Already_Registered()
{
var container = new Container(log: Write);
container.RegisterTransient<SomeClass>();
Assert.Throws<TypeAccessException>(() => container.RegisterTransient<SomeClass>()).WriteMessageTo(Write);
}
示例12: T02_singleton_factory
public void T02_singleton_factory()
{
var container = new Container();
container.RegisterTransient<ISomeClass>();
container.Resolve<Func<ISomeClass>>();
}