5
我有两个接口都是由类苹果实现现在为什么统一返回相同的实例只有一个为ContainerControlledLifeTimeManager
interface a { }
interface b { }
class Apple: a,b
{
}
如果我注册苹果对阵双方的接口,但是只有一个是使用ContainerControlledLifeTimeManager,然后解析其他接口也返回相同的实例。为什么这是它的方式,无论如何要解决它?
IUnityContainer container = new UnityContainer();
container.RegisterType<a, Apple>(new ContainerControlledLifetimeManager());
container.RegisterType<b, Apple>();
var a = container.Resolve<a>();
Console.WriteLine(container.Resolve<b>().Equals(a).ToString());
刚刚验证了你的答案。你是对的。但是你关于注入配置的陈述是违背类的,是全局的,适用于所有IOC容器还是仅适用于Unity?任何官方参考? – 2011-04-04 20:06:39
这就是Unity的工作原理。其他容器可能,也有一些我确实做了其他决定。我所知道的IOC容器没有ISO标准。 :-) – 2011-04-05 00:04:43
我显然意味着事实上的标准而不是ISO标准,但感谢您的回答。 – 2011-04-05 04:24:59