У меня есть суперкласс, который мы можем назвать class A и несколько подклассов, например. class a1 : A, class a2 : A,... и a6 : A. В моем class B у меня есть набор методов, который создает и добавляет один из подклассов к List<A> в B.
Я хочу сократить свой код, который у меня есть на данный момент. Поэтому вместо написания
Adda1()
{
aList.Add( new a1() );
}
Adda2()
{
aList.Add( new a2() );
}
...
Adda6()
{
aList.Add( new a6() );
}
Вместо этого я хочу написать что-то похожее на это
Add<T>()
{
aList.Add( new T() ); // This gives an error saying there is no class T.
}
Возможно ли это?
Можно ли также ограничить, что T должен иметь тип A или один из его подклассов?