Nehmen Sie die folgende Klasse als Beispiel:
class Sometype
{
int someValue;
public Sometype(int someValue)
{
this.someValue = someValue;
}
}
Ich möchte dann eine Instanz dieses Typs mithilfe von Reflection erstellen:
Type t = typeof(Sometype);
object o = Activator.CreateInstance(t);
Normalerweise funktioniert dies. Da SomeType
jedoch kein parameterloser Konstruktor definiert wurde, löst der Aufruf von Activator.CreateInstance
eine Ausnahme vom Typ MissingMethodException
mit der Meldung " Kein parameterloser Konstruktor für dieses Objekt definiert " aus. Gibt es eine alternative Möglichkeit, eine Instanz dieses Typs weiterhin zu erstellen? Es wäre ein bisschen blöd, allen meinen Klassen parameterlose Konstruktoren hinzuzufügen.
FormatterServices.GetUninitializedObject
Nicht initialisierte Zeichenfolge darf nicht erstellt werden. Möglicherweise erhalten Sie eine Ausnahme:System.ArgumentException: Uninitialized Strings cannot be created.
Bitte beachten Sie dies.