当我尝试JsonConvert.DeserialiseObject
通过反射调用时,AmbiguousMatchException
尽管我为要调用的重载指定了参数类型,但还是得到了一个错误。
MethodInfo method = typeof(JsonConvert).GetMethod("DeserializeObject", new[] { typeof(string) });
不知道我还能提供什么其他信息,以便找到唯一的匹配项
有任何想法吗?
如前所述,您可以将GetMethods()
方法与LinqsSingle()
方法一起使用以查找要查找的MethodInfo:
var method = typeof (JsonConvert).GetMethods().Single(
m =>
m.Name == "DeserializeObject" &&
m.GetGenericArguments().Length == 1 &&
m.GetParameters().Length == 1 &&
m.GetParameters()[0].ParameterType == typeof(string));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句