Instancier une classe par la Reflection: pb de constructeur.
cs_bigflo93
Messages postés50Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention13 septembre 2008
-
9 juin 2005 à 09:23
cs_bigflo93
Messages postés50Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention13 septembre 2008
-
9 juin 2005 à 11:39
Bonjour à tous :)
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 ?
cs_bigflo93
Messages postés50Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention13 septembre 2008 9 juin 2005 à 11:39
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