编程语言
首页 > 编程语言> > c#-Unity 5.9.x中缺少CreateChildContainer

c#-Unity 5.9.x中缺少CreateChildContainer

作者:互联网

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和明确实现的接口方法的行为

标签:unity-container,c,ioc-container
来源: https://codeday.me/bug/20191211/2106473.html