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