2009-12-19 8 views
2

J'essaye d'obtenir un objet MethodInfo pour une méthode sur un type avec un out param dans sa signature. Quelque chose à l'effet de ceci:Comment réfléchir sur la méthode sans paramètres?

MethodInfo tryParse = typeof(T).GetMethod(
    "TryParse", 
    BindingFlags.Public|BindingFlags.Static, 
    null, 
    new Type[] { typeof(string), typeof(T) }, 
    null); 

Mais le problème est, il ne trouve pas parce que le type du second paramètre est non seulement T mais out T. Quand je déboguer et l'utilisez typeof(T).GetMethods() je peux voir la MethodInfo réelle que je veux et l'objet ParameterInfo est soit de type T& ou T ByRef, mais je ne vois pas comment créer le Type qui représente ce de typeof(T).

Des idées?

Répondre

0

Et la prochaine chose que toute personne avec cette question va rencontrer est "Okay mais comment l'invoquer!?!" This article a éclairci ça pour moi. Réponse courte: le tableau arguments contient le paramètre out, pas la variable que vous avez utilisée pour remplir le tableau arguments.