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 или один из его подклассов?

Ответы на вопрос(2)

Ваш ответ на вопрос