Ich habe eine Basisklasse (Basisklasse), von der ich einige Unterklassen abgeleitet habe (Subclass1, Subclass2, usw.). Für jede Unterklasse, ich will:Hinzufügen eines anonymen Unterklassenobjekts zu einer Basisklassenliste
- Aufruf der Konstruktor mit 'festen' Argumente (arg1, arg2, etc.);
- überprüfen, ob die Instanziierung gültig ist (angenommen, dass eine gemeinsame Methode IsValid ist); und
- fügen Sie die Instanziierung zu einer Objektliste hinzu.
Hier folgt der Auszug aus dem Code:
subclassList = new List<Type>()
{
typeof(Subclass1),
typeof(Subclass1),
...
};
List<Baseclass> objectList = new List<Baseclass>();
foreach (Type subclass in subclassList)
{
ConstructorInfo[] constructorArray = subclass.GetConstructors(BindingFlags.Public);
object o = constructorArray[0].Invoke(new object[] { arg1, arg2, ... });
if (((Baseclass)o).IsValid)
{
objectList.Add(Convert.ChangeType(o, subclass));
}
}
Was ist das Problem? –
Es funktioniert nicht – Massimiliano