UnityContainer でフォローする方法がわかりません。
interface A { }
interface B { }
interface X { }
class ConcreteAX : A, X { }
class ConcreteBX : B, X { }
ServiceLocator.ResolveAll<X>
両方のインスタンスを返すように、両方の具象クラスを登録する必要があります。同じ時間Resolve<A>
でResolve<B>
、同様に機能するはずです。さらに、サービスの登録中に自分でインスタンス化してはいけません。
名前付き登録を使用して機能X
させるResolveAll
と、各具象クラスの 2 つのインスタンスが作成されます。すべてのインターフェイスに名前付き登録を使用すると、機能Resolve<A>
しResolve<B>
ません。このアプローチを使用すると、ResolveAll
何も返されません。
UnityContainer でトリックを行うには?