代码之家  ›  专栏  ›  技术社区  ›  Budda

如何将现有容器绑定到另一个容器?

  •  1
  • Budda  · 技术社区  · 14 年前

    我继承了 UnityContainer 类,并希望创建将“继承”上一个实例的所有注册的附加实例?

    我理解得对吗 AddExtension 你想怎么做?

    public class MyUnityContainer : UnityContainer
    {
     public MyUnityContainer(MyUnityContainer containerParent)
     { 
       if ( containerParent!=null )
         this.AddExtention(containerParent);
     }
    
     public static void Test()
     {
       MyUnityContainer cont1 = new MyUnityContainer();
       cont1.RegisterType<IA,A>();
       MyUnityContainer cont2 = new MyUnityContainer(cont1);
       IA a = cont2.Resolve<IA>();
    }
    

    我可以做的 MyUnityContainer 不是继承自 单元容器 ,但包含它(“has a”而不是“is a”),但我不想实现 IUnityContainer MyUnity容器 班级。

    1 回复  |  直到 9 年前
        1
  •  -1
  •   Chris Tavares    14 年前

    你想要的是一个子容器。你打电话来父.CreateChildContainer,那应该做你想做的-除了孩子将是UnityContainer,而不是MyUnityContainer。

    MyUnityContainer做什么?也许有一种方法可以让它在没有子类的情况下工作?