クラスの 1 つのコンストラクターに複数のジェネリック インターフェイスをパラメーターとして渡そうとしています。
次のコードはコンパイルされません。
public interface IPosterGenerator<T>
{
IQueryable<T> GetPosters();
}
public class Pinboard
{
public Pinboard(IPosterGenerator<A> firstPosterGenerator, IPosterGenerator<B> secondPosterGenerator, IPosterGenerator<B> thirdPosterGenerator)
{
}
}
私は約100種類のポスタージェネレーターを持っています。それらはすべて IPosterGenerator インターフェースから継承します。新しいピンボードをインスタンス化するとき、ピンボードのコンストラクターに 3 つの IPosterGenerators を渡す必要があります。ただし、これら 3 つの IPosterGenerators はそれぞれ異なるタイプになります。だからこそ、私はこのばかげた A、B、C を思いついたのです。
これはまったくできますか?