Tengo una superclase a la que podemos llamar class A
y algunas subclases, p. Ej. class a1 : A
, class a2 : A
, ... y a6 : A
. En mi class B
, tengo un conjunto de métodos que crea y agrega una de las subclases a List<A>
en B
.C# create Object obj = new T()?
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());
}
lugar quiero escribir algo similar a esto
Add<T>()
{
aList.Add(new T()); // This gives an error saying there is no class T.
}
¿Es posible?
¿También es posible restringir que T
tenga que ser del tipo A
o una de sus subclases?
posible duplicado de [Crear instancia de tipo genérico?] (Http://stackoverflow.com/questions/731452/create-instance- of-generic-type) –