避免不明确的匹配异常

发布于 2024-08-16 12:42:16 字数 392 浏览 3 评论 0原文

我通过反射在类型上调用静态方法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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

舞袖。长 2024-08-23 12:42:16

使用重载并使用

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

Use this overload and use

returnType.GetMethod("Parse", new [] {typeof(string)})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文