绑定到目标方法时出错

时间:2011-10-18 21:45:21

标签: c# reflection binding dynamic

MethodInfo method = typeof(T).GetMethod("Parse", new[] { typeof(string) });
parse = Delegate.CreateDelegate(typeof(Func<T,string>), method);
在这种情况下,T是浮点数。但是我得到一个绑定到目标方法的错误。 Parse我相信是一种静态的方法。我看过其他例子,但我无法弄清楚为什么它没有约束力。

1 个答案:

答案 0 :(得分:3)

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

我将T替换为float,以下代码适用于我:

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) Delegate