C# Unity 5.9.x中缺少CreateChildContainer
Unity IoC 5.8.x版中曾经有一个方法C# Unity 5.9.x中缺少CreateChildContainer,c#,unity-container,ioc-container,C#,Unity Container,Ioc Container,Unity IoC 5.8.x版中曾经有一个方法UnityContainer.CreateChildContainer()。但是,自版本5.9.x以来,它已消失。这是否意味着整个子容器功能已被删除?有没有其他方法可以实现这一点?我确实认为,在定义UnityContainer时,您尝试使用var语法糖。自5.9.0版以来,IUnityContainer.CreateChildContainer在UnityContainer中有明确的实现。因此,使用var可能会给人留下这样的印象:CreateChi
UnityContainer.CreateChildContainer()
。但是,自版本5.9.x以来,它已消失。这是否意味着整个子容器功能已被删除?有没有其他方法可以实现这一点?我确实认为,在定义UnityContainer
时,您尝试使用var
语法糖。自5.9.0版以来,IUnityContainer.CreateChildContainer
在UnityContainer
中有明确的实现。因此,使用var
可能会给人留下这样的印象:CreateChildContainer
,但任何其他显式实现的方法也不再存在了
//Not possible with unity>=5.9.0, this way uc has access to class methods
var uc = new UnityContainer();
using(var child = uc.CreateChildContainer()){...}
//Possible with unity>=5.9.0, this way uc has access to interface methods
IUnityContainer uc = new UnityContainer();
using(var child = uc.CreateChildContainer()){...}
n、 b.这通常是
var
和显式实现的接口方法的行为您是如何得出没有CreateChildContainer
的结论的?此代码自5.9.0起不起作用:var container=new UnityContainer();var child=container.CreateChildContainer()代码>你能试试吗IUnityContainer container=newunitycontainer();var child=container.CreateChildContainer()代码>而不是使用var
?是的,这是可行的,因为CreateChildContainer现在(从5.9.0开始)是UnityContainer类中IUnityContainer的显式实现。