選択した IoC コンテナー ライブラリ (Unity) からすべてのコードを分離したいと考えています。そのために、Register() と Resolve() を公開する IContainer インターフェイスを作成しました。IContainer を実装し、実際のコンテナーをラップする UnityContainerAdapter というクラスを作成しました。したがって、UnityContainerAdapter が定義されているアセンブリのみが Unity ライブラリについて認識します。
私の孤立思考に漏れがあります。Unity は、依存関係を注入する場所を知るために、型のメンバーの属性を検索します。私が見たほとんどの IC ライブラリもそれをサポートしています。私が抱えている問題は、その機能を使用したいのですが、クラスが Unity 固有の属性に依存することを望まないことです。
この問題を解決する方法について何か提案はありますか?
理想的には、独自の [Dependency] 属性を作成し、それをコードで使用します。しかし、実際のコンテナに、自分の属性ではなく自分の属性を検索するように指示する必要があります。