次のコードが与えられた場合、一般的に型指定されたアイテムのコレクションを持つことは可能ですか:
public abstract class AGeneric<T> {
internal virtual List<T> MyList { get; set; }
}
public class LibA<T> : AGeneric<T> {
internal override List<T> MyList { get; set; }
}
public class LibB<T> : AGeneric<T> {
internal override List<T> MyList { get; set; }
}
public class LibC<T> : AGeneric<T> {
internal override List<T> MyList { get; set; }
}
//.
//.
//.
Main {
List<AGeneric> test = new List<AGeneric>(); //error - requires type;
List<BGeneric> test2 = new List<BGeneric>();
test2.first().
}
public abstract class BGeneric {
internal virtual List<T> MyList { get; set; } //cant use T to provide implementation
}
public class LibD<T> : BGeneric {
internal override List<T> MyList { get; set; }
}
public class LibE<T> : BGeneric {
internal override List<T> MyList { get; set; }
}
public class LibF<T> :BGeneric {
internal override List<T> MyList { get; set; }
}
クラスの目的は を決定し、厳密に型指定されたオブジェクトの配列を返すことであるため、抽象クラスからさまざまな型の List を実装することが目標です。