現在、Ninject を使用していくつかのフィールドの初期値を設定する方法を考え出そうとしています。
私はこのようなものを持っています:
public class SomeClass
{
private ISomething _something;
public SomeClass(string someParam)
{
}
public void DoAThing()
{
_something.DoSomething();
}
}
私のジレンマは_something
、初期値への設定で発生します。クラスに、使用する のデフォルト実装について何も知られたくないのですがISomething
、Ninject でこれを達成する方法はありますか?
コンストラクターを介して初期値を渡すことはオプションではないことを付け加えておきます。
また、これはクラスライブラリにあることも付け加えておく必要があるため、カーネルとインジェクションのセットアップ方法とタイミングに関する情報は素晴らしいでしょう:)
詳細: 人々が混乱している可能性があるようです。私は ISomething をクラスに取り込もうとはしていません (依存関係ではありません)。むしろ、ISomething のデフォルトの実装は依存関係です。これが、私がサービスを利用した理由です。 -locator パターン。実際の依存関係については、もちろんコンストラクターに含めます。
ありがとう。