私はすでに次のことを行っている:ユニティ自動注入
- ILoggerですインタフェースを介して、団結の私のロガー のインスタンスを登録します。
- インタフェースを作成しました。 ILoggableObject。メソッドがあり、 フック(ILogger logger)を使用して、ロガーを挿入できます。
私はこれを実現したいと思います。そのオブジェクトがILoggableObjectを実装している場合
毎回私は自動的にフックメソッドを経由してILoggerですインタフェースを注入し、ユニティから任意の解像度を求めます。
私はこれが傍受またはポリシーによって可能だと思いますか?
ご協力いただければ幸いです。
デフォルトのメカニズムであるコンストラクタインジェクションを使用しないのはなぜですか?単に 'Hook'メソッドの名前をpublicコンストラクタ(同じ引数を持つ)に変更してください。 – Steven
ロギング動作を使用する必要があるオブジェクトctorにILoggerを渡すだけではどうですか? –
それは私がそれをやっていた方法です。このアプローチの問題は、オブジェクトが複数のインタフェースを使用し始めたときに、10個のパラメータを持つコンストラクタで終わることです。その後、その基本クラスから継承したい別の開発者は、見る必要がないすべてのコンストラクタパラメータを提供する必要があります。 – poindexter12