C # create Object obj = novo T ()?
Eu tenho uma superclasse que podemos chamarclass A
e algumas subclasses, e.class a1 : A
, class a2 : A
... ea6 : A
. No meuclass B
, Tenho um conjunto de métodos que cria e adiciona uma das subclasses a umList<A>
emB
.
Eu quero encurtar meu código que tenho no momento. Então, ao invés de escrever
Adda1()
{
aList.Add( new a1() );
}
Adda2()
{
aList.Add( new a2() );
}
...
Adda6()
{
aList.Add( new a6() );
}
Em vez disso, quero escrever algo semelhante a isso
Add<T>()
{
aList.Add( new T() ); // This gives an error saying there is no class T.
}
Isso é possível?
Também é possível restringir queT
tem que ser do tipoA
ou uma de suas subclasses?