C# Lista av typer som sedan ska itereras och instansieras

Permalänk
Medlem

C# Lista av typer som sedan ska itereras och instansieras

Jag har ett problem. Jag vill kunna instansiera objekt från en lista av typer. Jag hoppas ni förstår nedan vad jag menar. Men jag blir inte klok på hur jag ska göra.

public class Bas { } public class Typ1 : Bas { } public class Typ2 : Bas { } public class Typ3 : Bas { } public class Main { public static List<Type> typLista = new List<Type>(){ typeof(Typ1), typeof(Typ2), typeof(Typ3) } public List<Bas> objektLista = new List<Bas>(); public void Metod() { foreach (var t in typLista) { objektLista.Add(new t()); // Här skrev jag något helt random då jag inte vet hur jag ska lösa det } } }

Permalänk
Medlem

objektLista.Add(Activator.CreateInstance(t) as Bas);

EDIT: om konstruktorn kräver parametrar,

public class Bas
{
public Bas(params object[] args)
{
}
}

objektLista.Add(Activator.CreateInstance(t, new object[] { 1, 2, "gås"}) as Bas);