C # crear Objeto obj = new T ()?
Tengo una superclase a la que podemos llamarclass A
y algunas subclases, por ej.class a1 : A
, class a2 : A
, ... ya6 : A
. En miclass B
, Tengo un conjunto de métodos que crea y agrega una de las subclases a unList<A>
enB
.
Quiero acortar mi código que tengo en este momento. Así que en lugar de escribir
Adda1()
{
aList.Add( new a1() );
}
Adda2()
{
aList.Add( new a2() );
}
...
Adda6()
{
aList.Add( new a6() );
}
En su lugar quiero escribir algo similar a esto
Add<T>()
{
aList.Add( new T() ); // This gives an error saying there is no class T.
}
¿Es eso posible?
¿También es posible restringir queT
tiene que ser de tipoA
o una de sus subclases?