Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity 5.9.x中缺少CreateChildContainer_C#_Unity Container_Ioc Container - Fatal编程技术网

C# Unity 5.9.x中缺少CreateChildContainer

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

Unity IoC 5.8.x版中曾经有一个方法
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的显式实现。