本文整理汇总了C#中SimpleContainer.RegisterType方法的典型用法代码示例。如果您正苦于以下问题:C# SimpleContainer.RegisterType方法的具体用法?C# SimpleContainer.RegisterType怎么用?C# SimpleContainer.RegisterType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SimpleContainer
的用法示例。
在下文中一共展示了SimpleContainer.RegisterType方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ResolveObjectWithConstructorParams
public void ResolveObjectWithConstructorParams()
{
var container = new SimpleContainer();
container.RegisterType<ITypeToResolve, ConcreteType>();
container.RegisterType<ITypeToResolveWithConstructorParams, ConcreteTypeWithConstructorParams>();
var instance = container.Resolve<ITypeToResolveWithConstructorParams>();
Assert.IsInstanceOfType(instance, typeof(ConcreteTypeWithConstructorParams));
}
示例2: DependencyContructor
public void DependencyContructor()
{
var c = new SimpleContainer();
c.RegisterType<ITypeToResolveWithConstructorParams, ConcreteTypeWithDependencyConstructorAttr>();
c.RegisterType<ITypeToResolve, ConcreteType>();
var foo = c.Resolve<ITypeToResolveWithConstructorParams>();
Assert.IsNotNull(foo.Arg1);
Assert.IsNull(foo.Arg2);
}
示例3: CyclicDependencySimple
public void CyclicDependencySimple()
{
var c = new SimpleContainer();
c.RegisterType<ITypeToResolve, ConcreteWithSimpleCyclicDependency>();
c.Resolve<ITypeToResolve>();
}
示例4: ResolvableSecondConstructor
public void ResolvableSecondConstructor()
{
var c = new SimpleContainer();
c.RegisterType<ITypeToResolve, ConcreteType>();
var instance = c.Resolve<ConcreteWithResolvableSecondConstructor>();
Assert.IsNotNull(instance.Arg1);
}
示例5: ResolveConcreteTypeTransient
public void ResolveConcreteTypeTransient()
{
var container = new SimpleContainer();
container.RegisterType<ConcreteType>(false);
var instance = container.Resolve<ConcreteType>();
Assert.AreNotSame(container.Resolve<ConcreteType>(), instance);
}
示例6: ResolveConcreteTypeSingleton
public void ResolveConcreteTypeSingleton()
{
var container = new SimpleContainer();
container.RegisterType<ConcreteType>();
var instance = container.Resolve<ConcreteType>();
Assert.AreSame(container.Resolve<ConcreteType>(), instance);
}
示例7: DefaultSingletonCreation
public void DefaultSingletonCreation()
{
var container = new SimpleContainer();
container.RegisterType<ITypeToResolve, ConcreteType>();
var instance = container.Resolve<ITypeToResolve>();
Assert.AreSame(container.Resolve<ITypeToResolve>(), instance);
}
示例8: ResolveObjectWithInterface
public void ResolveObjectWithInterface()
{
var container = new SimpleContainer();
container.RegisterType<ITypeToResolve, ConcreteType>();
var instance = container.Resolve<ITypeToResolve>();
Assert.IsInstanceOfType(instance, typeof(ConcreteType));
}
示例9: Main
static void Main(string[] args)
{
SimpleContainer container = new SimpleContainer();
container.RegisterType<Testing>( false );
Testing t1 = container.Resolve<Testing>();
t1.foo();
TestingSingleton t2, t3;
container.RegisterType<TestingSingleton>( true );
t2 = container.Resolve<TestingSingleton>();
t3 = container.Resolve<TestingSingleton>();
Console.WriteLine( t2 == t3 );
IFoo t4, t5;
container.RegisterType<IFoo, TestingWithInterface>( false );
t4 = container.Resolve<IFoo>();
t4.foo();
container.RegisterType<IFoo, TestingWithInterface2>( false );
t5 = container.Resolve<IFoo>();
t5.foo();
Console.ReadKey();
}