2017-01-12 9 views
1

これで、kernel.GetAllを使ってインターフェイスを実装するすべてのクラスのインスタンスを取得する方法を見てきました。 (ここではマルチ注入でよく文書化されています:https://github.com/ninject/Ninject/wiki/Multi-injectionNinject:すべてのサブクラスを挿入します

ほとんど同じことをしたいのですが、サブクラスのすべての継承を注入したいのですが?

var instances = kernel.GetAll<ParentClass>(); // or something equivalent? 

私は上記のコードを試しました。それはスローされませんが、インスタンスも返しません。

答えて

1

あなたがそうのような派生クラスのそれぞれに基本クラスをバインドする必要があります。

kernel.Bind<ParentClass>().To<ClassA>(); 
kernel.Bind<ParentClass>().To<ClassB>(); 
var instances = kernel.GetAll<ParentClass>(); 
関連する問題