2

Ninject を DI コンテナーとして使用する MCV3 アプリがあります。

2 つのコンストラクター (それぞれに 1 つのパラメーターを持つ) を持つ 1 つのオブジェクトがあります。

public MyObject(IDependencyOne dep){}
public MyObject(IDependencyTwo dep){}

実行時にweb.configファイルから読み取ったブール値に基づいて、Ninjectに2つのコンストラクターのいずれかを選択させるにはどうすればよいですか?

4

2 に答える 2

0

条件付きバインディングでコンストラクター選択構文を使用します。この関連する質問/回答、 Contextual Binding に関する関連する wiki セクションを参照してください。

于 2012-10-26T20:15:11.120 に答える
0

hereから、それは言う: Ninject には XML 構成がありません。

XML からの解放

他のほとんどの .NET 依存性注入フレームワークは、XML を使用して型バインディングを宣言するように設計されています。面倒でエラーが発生しやすいテキストを書くことを強制するのではなく、Ninject は、本格的なコードを使用してアプリケーションの部分を接続できる流暢なインターフェースを提供します。これは、コード補完やタイプセーフなど、IDE とコンパイラの機能を利用できることを意味します。

IoC バインディングをコードに移動し、XML から移動するという一般的な傾向があります (私が知っている、またはフォローしている人々の間で)。ほとんどの場合、失敗のインテリセンスとランタイム フィードバックを得ることができます。

私はそれを使用していませんが、xml でマッピングをセットアップできるようにするNinject.Extensions.Xmlのリリース候補があります。しかし、私は一般的にこのようにすることをためらいます。あなたが求めているかもしれないNinject.Extensions.Conventionsもあります。

ソース :

Ninject と構成

Ninject と XML 構成バインディング

于 2012-10-26T09:23:54.867 に答える