为什么我们可以使用这样的任务?

Ada*_*Lee 3 .net c# c#-4.0

task.ContinueWith( x => Process(x));

task.ContinueWith( Process)
Run Code Online (Sandbox Code Playgroud)

我想知道为什么两个都可以工作?

我认为ContinueWith至少需要一个Task参数

Mic*_*l G 5

lambda表达式正在转换为方法组.

13.6方法组转换

与§13.5中描述的隐式匿名方法转换类似,从方法组(第14.1节)到兼容的委托类型存在隐式转换.如果D是委托类型,并且E是被分类为方法组的表达式,则当且仅当E包含至少一个适用于其正常形式(第14.4.2.1节)的方法时,D才与E兼容任何参数列表(第14.4.1节),其类型和修饰符与D的参数类型和修饰符匹配.

从E到D的转换的编译时应用程序与委托创建表达式new D(E)(第14.5.10.3节)的编译时处理相同.请注意,从E到D的隐式转换的存在只表示该组适用的方法不为空,但不保证转换的编译时应用程序将成功而不会出错.

有关示例,请参见http://en.csharp-online.net/ECMA-334:_13.6_Method_group_conversions.