У меня есть суперкласс, который мы можем назвать 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
или один из его подклассов?