28 votes

Activator.CreateInstance avec des paramètres facultatifs

Quelqu'un sait-il comment instancier une classe en utilisant un constructeur qui n'a qu'un seul paramètre facultatif ?

J'ai essayé les deux

(T)Activator.CreateInstance(typeof(T), new object[] { Type.Missing });

y

(T)Activator.CreateInstance(typeof(T), new object[] { });

Sans succès... J'obtiens MissingMethodException

38voto

Conrad Clark Points 1874

Ça a marché :

(T)Activator.CreateInstance(typeof(T), 
                    BindingFlags.CreateInstance |
                    BindingFlags.Public |
                    BindingFlags.Instance | 
                    BindingFlags.OptionalParamBinding,null, new object[] {Type.Missing },CultureInfo.CurrentCulture);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X