代码之家  ›  专栏  ›  技术社区  ›  magol Nathaniel Roark

Ninject inject在创建集合时向集合添加元素

  •  4
  • magol Nathaniel Roark  · 技术社区  · 14 年前

    class TestModule:NinjectModule
    {
        public override void Load()
        {
            Bind<ICollection<Element>>().To<Collection<Element>>();
            Bind<Element>().ToSelf();
        }
    }
    

    当我试图获得一个I collection时,我得到一个只有一个元素的集合。我希望有一个特别的收藏品。

        var _kernel = new StandardKernel(new TestModule());
    
        var col = _kernel.Get<ICollection<Element>>();
        Console.WriteLine("Count={0}", col.Count);   //Write "Count=1", Expect "Count=0"
    
    1 回复  |  直到 14 年前
        1
  •  5
  •   Ian Davis    14 年前

    答案是 Ninject mailing list .

    匹配泛型参数并将其添加到 注射。如果移除元素上的绑定,则空集合将

    另一个 example is given 显示基于此行为可以执行的操作。