C # Objekt erstellen obj = new T ()?

Ich habe eine Superklasse, die wir anrufen könnenclass A und einige Unterklassen, z.B.class a1 : A, class a2 : A, ... unda6 : A. In meinemclass BIch habe eine Reihe von Methoden, die eine der Unterklassen zu a erstellen und hinzufügenList<A>imB.

Ich möchte meinen aktuellen Code verkürzen. Also anstatt zu schreiben

Adda1()
{
    aList.Add( new a1() );
}

Adda2()
{
    aList.Add( new a2() );
} 

...

Adda6()
{
    aList.Add( new a6() );
}

Stattdessen möchte ich etwas Ähnliches schreiben

Add<T>()
{
    aList.Add( new T() );  // This gives an error saying there is no class T.
}

Ist das möglich?

Kann man das auch einschränken?T muss vom Typ seinA oder eine seiner Unterklassen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage