Tome a seguinte aula como exemplo:
class Sometype
{
int someValue;
public Sometype(int someValue)
{
this.someValue = someValue;
}
}
Em seguida, quero criar uma instância desse tipo usando reflexão:
Type t = typeof(Sometype);
object o = Activator.CreateInstance(t);
Normalmente, isso funcionará, no entanto, como SomeType
não definiu um construtor sem parâmetros, a chamada para Activator.CreateInstance
lançará uma exceção do tipo MissingMethodException
com a mensagem " Nenhum construtor sem parâmetros definido para este objeto. " Existe uma maneira alternativa de ainda criar uma instância desse tipo? Seria meio chato adicionar construtores sem parâmetros a todas as minhas classes.
FormatterServices.GetUninitializedObject
não permite a criação de strings não inicializadas. Você pode obter uma exceção:System.ArgumentException: Uninitialized Strings cannot be created.
tenha isso em mente.