2つのサービス(AとB)が両方ともISomeServiceとして登録されているとします。また、将来これらのサービスの1つが必要なクラスが必要になるとします。しかし、クラス名はまだ分かりません。私が知っているのは、指定されたインターフェイスまたは抽象クラスを実装していることです(指定されたインターフェイスを実装するすべてのクラスはISomeServiceの同じインスタンスを必要とします)。どのようにしてこの解決策が起こるか確認できますか?コンストラクタパラメータ属性に基づいてautofacとの依存関係を解決する
Here is a related question where the name of the class which uses the resolved service is known. 私のケースでは、クラス名CustomerRepositoryの名前は先に知られていません。インタフェースの名前(IUserRepositoryやIFunctionRepositoryなど)または抽象クラスのみがわかります。言い換えれば、私はちょうどそのことを知っています SomeRepository:IUserRepositoryとそのIUserRepositoryタイプはA.が必要です。私はユーザーがIUserRepositoryを実装するより多くのクラスを書くことを許可しなければなりません。
ここに質問をするより良い方法があります。 私が取得するために、すべてのIFunctionRepositoryのコンストラクタを必要とする(ここで、ISomeService)と、すべてのIUserRepositoryコンストラクタはBを取得する(ここで、B:ISomeService)
希少な返信をありがとう – ada
@ada - ありがとう!まれ? :)うまくいけばそれは役に立つと思う。もしそうなら、私の答えを受け入れたものとしてマークしてください。 –
私は、質問を一目瞭然に見ていても気にする人はほとんどいないということを意味しました。 :) – ada