C # создать объект obj = new T ()?
У меня есть суперкласс, который мы можем назвать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
или один из его подклассов?