Voilà, je fait un programme utilisant la réflection.
Je voudrais instancier un objet dynamiquement. Donc je fais:
object obj = Activator.CreateInstance(mon_type);
Seulement voilà, lorsque je rencontre une classe sans constructor par défault, ça marche pas ...
Alors comment faire ?
Existe-t-il un autre moyen d'instancier un objet ?
Oui, mais justement, je connais pas les arguments ... Je fais en fait de la déserialization manuelle à partir d'un flux xml. Et donc je ne connais que le type de la classe à instancier...
Sinon j'ai trouvé quelque chose d'équivalent:
object obj = System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObject(mon_type)
Seulement, ça marche pas. Même par pour les string. Si je fais ça:
object obj = System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObject(typeof(string))
ça me jete une exception: System.ArgumentException -> Uninitialized Strings cannot be created