Unity 5.9.x 中缺少 CreateChildContainer

Ond*_*čný 4 c# ioc-container unity-container

UnityContainer.CreateChildContainer()Unity IoC 5.8.x 版本中曾经有一个方法。但是它从 5.9.x 版本开始就消失了。这是否意味着整个子容器功能已被删除?有没有其他方法可以实现这一目标?

Joh*_*nny 5

我确实假设您var在定义UnityContainer. 由于 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()){...}
Run Code Online (Sandbox Code Playgroud)

nb 这通常是var显式实现的接口方法的行为