2012-06-20 46 views
0

这些语句是否相同(我是否获得相同的对象)?Unity IoC容器名称和分辨率

unity.Resolve<ITest>(); 

unity.Resolve<ITest>(name : null); 

如果没有什么,当我注册不传递name参数的默认名称?

例如,当我这样做:

unity.RegisterType<ITest,Test>(); 

回答

1

它们是等价的,你会得到相同的类型。通用的RegisterType方法实际上是扩展方法,并且它们全部在UnityContainer上调用相同的方法。

IUnityContainer RegisterType(Type from, Type to, string name, LifetimeManager lifetimeManager, params InjectionMember[] injectionMembers) 
+0

谢谢! 8个字符 – Alwyn