避免不明确的匹配异常
我通过反射在类型上调用静态方法Parse,因为我不知道编译时对象的类型(但我确实知道,它有一个Parse > 方法,采用字符串)。
但是,我遇到了不明确的匹配异常,大概是因为有很多重载的 Parse 方法,每个方法都采用单个对象(字符串、整数、双精度等)。
如何在方法调用中更加具体,以确保到达正确的方法 (Parse(string s)) 并且不会引发异常。
我的代码如下所示:
Type returnType = p.PropertyType;
object value = returnType.GetMethod("Parse").Invoke(null, new string[] { "1" });
I am invoking a static method Parse on a type via reflection because I do not know the type of the object at compile-time (I do know, however, it has a Parse method, taking a string).
However, I am getting an ambiguous match exception, presumably because there are a lot of overloaded Parse methods each taking a single object (string, int, double etc.).
How can I be more specific in my method invocation to ensure I reach the correct method (Parse(string s)) and the exception is not thrown.
My code looks like this:
Type returnType = p.PropertyType;
object value = returnType.GetMethod("Parse").Invoke(null, new string[] { "1" });
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用此重载并使用
Use this overload and use