Ninjectを使用してIListフィールドを含むクラスにカスケードインジェクションを実装しようとしています。 kernel.Getメソッドで使用する各バインディングを特に指定しない限り、IListプロパティには常に単一のデフォルトオブジェクトのリストが挿入されているようです。Ninject IListを使用したInectionの継承
次のVSTestコードは、この問題を示しています。 IListフィールドにName = nullのMyTypeオブジェクトが1つ含まれているため、最初のテストは失敗します。 2番目のテストは合格ですが、Ninjectに使用するコンストラクタ引数を具体的に伝えなければなりませんでした。 MVC 3用のninject.web.mvcプロジェクトの最新のビルドを使用しています。
NinjectはIListを個別に扱いますか、これを処理する良い方法はありますか?これは、IListを使用している場合にのみ問題があるように見えることに注意してください。 IListをラップするカスタムコレクションオブジェクトを作成すると、最初のテストで期待どおりに動作します。
Count()、Exists()、IndexOf()などのようなものをどうやって整理しますか? –
@IgnacioSolerGarciaインターフェイスはIListから派生する可能性があります。たとえば、 'IMyList :IList 'となります。備考:質問者が提供する例では、「モデル」は実際にはリストから派生しているわけではなく、リストのすべての機能を提供しているわけでもないので、その場合意味がありません。 –
BatteryBackupUnit