绑定到目标方法时出错

发布于 2024-12-10 18:51:54 字数 254 浏览 0 评论 0原文

MethodInfo method = typeof(T).GetMethod("Parse", new[] { typeof(string) });
parse = Delegate.CreateDelegate(typeof(Func<T,string>), method);

在这种情况下,T 是一个浮点数。但是我收到绑定到目标方法的错误。我相信 Parse 是一种静态方法。我看过其他例子,但我不明白为什么它不具有约束力。

MethodInfo method = typeof(T).GetMethod("Parse", new[] { typeof(string) });
parse = Delegate.CreateDelegate(typeof(Func<T,string>), method);

T is a float in this case. However I am getting a Error binding to target method. Parse I believe is a static method. I have looked at other examples, but I can not figure out why it is not binding.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

云胡 2024-12-17 18:51:54

您必须交换 Tstring,因为该方法返回 T 而不是 string

我用 float 替换了 T ,以下代码对我有用:

MethodInfo method = typeof(float).GetMethod("Parse", BindingFlags.Static | BindingFlags.Public, null, new[] { typeof(string) }, null);

var parse = Delegate.CreateDelegate(typeof(Func<string, float>), method);

来源:VS intellisense 和 MSDN Func(Of T, TResult) 委托

you have to swap T and string because the method returns a T not a string.

I replaced T with float and following code works for me:

MethodInfo method = typeof(float).GetMethod("Parse", BindingFlags.Static | BindingFlags.Public, null, new[] { typeof(string) }, null);

var parse = Delegate.CreateDelegate(typeof(Func<string, float>), method);

source: VS intellisense and MSDN Func(Of T, TResult) Delegate

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