曾经有在Unity的IoC版本5.8.x.的方法UnityContainer.CreateChildContainer()
但是它已经版本5.9.x.消散这是否意味着整个子容器功能移除?是否有任何其他的方式如何实现这一目标?
我假设你试图定义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()){...}
注:这通常是var
并明确实现的接口方法的行为