【发布时间】:2016-03-22 19:55:50
【问题描述】:
我尝试过这样做:
public static EventHandler ToEventHandler(this Action callback)
{...}
当我想将像 void x() 这样的简单方法传递给为 EventHandler 键入的方法时,对于一些语法糖。
但是当我尝试这样称呼它时:
SomeMethod(x.ToEventHandler());
我得到一个编译器错误:
x() is a 'method', which is not valid in the given context
由于方法是 .NET 中的一等公民,我不明白为什么这是不可能的。为什么不喜欢这样,还有其他方法可以完成我想要做的事情吗?
【问题讨论】:
-
您是否尝试过先将其转换为
Action?在编译器不知道之前,它是一个方法组。
标签: c# extension-methods