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 B
Ich 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?