0

現在、私はジェネリック インターフェイスを使用して、次のように IoC 依存関係を宣言しています。

public interface IComposition<T>
{
  T Dependency { get; set; }
}

しかし、私の実装が同時に複数の依存関係を持つ可能性があります。

ばかげていることはわかっていますが、必要なものを理解していただければ幸いです...問題を解決するためにインターフェイスを複数回実装するとします。

public class MyClass : IComposition<TypeA>, IComposition<TypeB>
{
  ...
}

タイプごとにIComposition<T1, T2, ...>またはを使用するのは適切なオプションではないと思います。ITypeXDependent私のコアは、リフレクションを使用して実行時に依存関係を解決する必要があります。そのため、コンストラクターを介して依存関係を渡していません。

誰かが私を助けることができるいくつかのトリックを知っていますか?

4

2 に答える 2

5

依存関係を設定するには、現在のスキームの代わりにコンストラクター パラメーターを使用します。

public class MyClass
{
    public void MyClass(TypeA a, TypeB b)
    {
        ....
    }
}
于 2013-10-07T14:14:51.887 に答える