web-dev-qa-db-fra.com

Eviter une exception de match ambigu

J'invoque une méthode statique Parse sur un type via réflexion car je ne connais pas le type de l'objet au moment de la compilation (je sais cependant qu'il a Parse = méthode, prenant une chaîne).

Cependant, je reçois une exception de correspondance ambiguë, probablement parce qu'il y a beaucoup de méthodes surchargées Parse chacune prenant un seul objet (string, int, double, etc.).

Comment puis-je être plus spécifique dans mon invocation de méthode pour m'assurer d'atteindre la bonne méthode (Parse (string s)) et que l'exception ne soit pas levée?.

Mon code ressemble à ceci:

Type returnType = p.PropertyType;
object value = returnType.GetMethod("Parse").Invoke(null, new string[] { "1" });
101
Ben

Utilisez this surcharge et utilisez

returnType.GetMethod("Parse", new [] {typeof(string)})
173
Benjamin Podszun