Ho una superclasse che possiamo chiamare class A
e poche sottoclassi, ad es. class a1 : A
, class a2 : A
, ... e a6 : A
. Nel mio class B
, ho una serie di metodi che crea e aggiunge una delle sottoclassi a List<A>
in B
.C# crea l'oggetto obj = new T()?
Voglio accorciare il mio codice che ho al momento. Così, invece di scrivere
Adda1()
{
aList.Add(new a1());
}
Adda2()
{
aList.Add(new a2());
}
...
Adda6()
{
aList.Add(new a6());
}
Invece voglio scrivere qualcosa di simile a questo
Add<T>()
{
aList.Add(new T()); // This gives an error saying there is no class T.
}
è possibile?
È anche possibile limitare che T
deve essere di tipo A
o una delle sue sottoclassi?
possibile duplicato del [Crea istanza di tipo generico?] (Http://stackoverflow.com/questions/731452/create-instance- di tipo generico) –