ジェネリック インターフェイスのジェネリック リストを変数として使用する正しい方法を見つけようとしています。
ここに例があります。それはおそらく最高ではありませんが、うまくいけばあなたはポイントを得るでしょう:
public interface IPrimitive<T>
{
T Value { get; }
}
IPrimitive<T>
次に、別のクラスで、任意のオブジェクトのリストを保持する変数を宣言できるようにしたいと考えていますT
。
// I know this line will not compile because I do not define T
List<IPrimitive<T>> primitives = new List<IPrimitives<T>>;
primitives.Add(new Star()); // Assuming Star implements IPrimitive<X>
primitives.Add(new Sun()); // Assuming Sun implements IPrimitive<Y>
in は、リスト内のエントリごとに異なる可能性があることT
に注意してください。IPrimitive<T>
そのような関係をどのように設定できるかについてのアイデアはありますか? 代替アプローチ?