Prendi la seguente classe come esempio:
class Sometype
{
int someValue;
public Sometype(int someValue)
{
this.someValue = someValue;
}
}
Quindi voglio creare un'istanza di questo tipo usando la riflessione:
Type t = typeof(Sometype);
object o = Activator.CreateInstance(t);
Normalmente questo funzionerà, tuttavia poiché SomeType
non è stato definito un costruttore senza parametri, la chiamata a Activator.CreateInstance
genererà un'eccezione di tipo MissingMethodException
con il messaggio " Nessun costruttore senza parametri definito per questo oggetto " . Esiste un modo alternativo per creare ancora un'istanza di questo tipo? Sarebbe un po 'schifoso aggiungere costruttori senza parametri a tutte le mie classi.
FormatterServices.GetUninitializedObject
non consente di creare stringhe non inizializzate. Potresti ottenere un'eccezione:System.ArgumentException: Uninitialized Strings cannot be created.
tienilo a mente.