3

私は私の溶液中でコンストラクタインジェクションを使用していますが、この一つのクラスは、私は不変の依存関係を持つコンストラクタで渡したくない性質を持っています。プログラムによる財産注入

ILoggerを持っていて、設定したいFileNameプロパティを持っているとしますが、それでもコンストラクタの依存関係を設定しているとします。 どのようにタイプを登録し、同時にdefaunt接続文字列を渡すのですか?

私はそれを行うための簡単な方法があると思います

- 好ましく属性とプロパティを飾るせずに、しかし、セットアップは属性を持つより簡単であれば、私はそれはクールだと思う:)

そこで問題はどのように行う、あります私は、コンテナ注入を使用するオブジェクトにプロパティ値を注入します。これは、Unityで行います。

更新:私はタイトルに言及しましたが、本文の内容を忘れてしまいました。設定ファイルではなく、これらの依存関係を手動で(コード内で)設定したいと思います。

答えて

2

[OK]を、私は見つけた - ここにあります。

container.Configure<InjectedMembers>().ConfigureInjectionFor<BasicLogger>(
    new InjectionProperty("FileName", @"C:\test.log") 
); 
0

プロパティを注入する場合は、[Dependency]を使用するか、手動でその依存関係を挿入する必要があります。私はそれが質問をするのに役立ったと思います

+0

うん、私はそれを非常に明確にしなかった - しかし、私はそれを手動で行うにはしたくない;) –

0

通常、IConfigurationインターフェイスを挿入します。これにはおそらく読めるLogFileプロパティがあります。

設定implimentationは、通常、設定ファイルから項目を読み込むための単純なラッパーです。

+0

あなたはそこに良い点を得たが、我々は可能な限り単純にそれを維持しようとし、そしてすべてのこの特定の実装が必要としていますファイル名です。 –

関連する問題