0
我有以下方法:團結集裝箱和ContainerControlledLifetimeManager當服務接口陣列
public void RegisterPlugin<T1>() where T1 : IWebrolePlugin
{
try
{
_container.RegisterType<T1>(new ContainerControlledLifetimeManager());
_container.RegisterType<IWebrolePlugin, T1>(typeof(T1).Name,new ContainerControlledLifetimeManager());
}catch(Exception e)
{
Trace.TraceError(e.ToString());
}
}
我的問題是,當我做_container.Resolve()我得到預期SomePlugin相同的實例,但使用時下面的注入構造函數會解析新的實例。
我有下列註冊也:
_container.RegisterType<WebsiteManager>(new InjectionConstructor(typeof(IDirectoryManager), typeof(IStore), typeof(IWebrolePlugin[])));
我的問題是IWebrolePlugin陣列[]是新的實例。我可以做任何這樣的我的方法
public T GetPlugin<T>() where T : IWebrolePlugin
{
return _container.Resolve<T>();
}
將返回WebsiteManager在其構造函數中得到的相同的實例嗎?