task.ContinueWith( x => Process(x));
task.ContinueWith( Process)
Run Code Online (Sandbox Code Playgroud)
我想知道为什么两个都可以工作?
我认为ContinueWith至少需要一个Task参数
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.
归档时间: |
|
查看次数: |
97 次 |
最近记录: |