Ninjectでどうすればいいですか
var lst=new List<IAnimal>();
lst.Add(dog);
lst.Add(cat);
kernel.Bind<List<IAnimal>>().ToInstance(lst);
ToInstance()
Ninject にはこのメソッドがないので、代わりに何を使用しますか?
あなたが使用できるように見えますToConstant()
:
kernel.Bind<List<IAnimal>>().ToConstant(lst);
IList<IAnimal>
ではなくバインディングを検討したいかもしれませんがList<IAnimal>
。
編集:以下のコメントごと
ToMethod
要件に応じて、別のオプションがあります。これにより、外部要因に基づいて異なるインスタンスを返すことができる Factory アプローチを使用できます。例えば:
kernel.Bind<IList<IAnimal>>().ToMethod(c => Helpers.IsDark ? return _nocturnalAnimals : return _allAnimals);