文件名称:匿名函数转换-大彩串口屏各组态控件详细介绍
文件大小:4.46MB
文件格式:PDF
更新时间:2024-06-28 03:33:30
C#5.0 PDF C#学习
6.5 匿名函数转换
anonymous-method-expression 或 lambda-expression 被归类为匿名函数(第 7.15 节)。这个表达式没有类
型,但是可隐式转换为兼容的委托类型或表达式目录树类型。具体而言,匿名函数 F 与委托类型 D 兼容:
如果 F 包含 anonymous-function-signature,则 D 与 F 的形参个数相同。
如果 F 不包含 anonymous-function-signature,则 D 可以有零个或多个任意类型的形参,只要 D 的任
何形参都没有 out 形参修饰符。
如果 F 具有显式类型化形参列表,则 D 中的每个形参与 F 中的对应形参具有相同的类型和修饰符。
如果 F 具有隐式类型化形参列表,则 D 没有 ref 或 out 形参。
如果 F 的主体是一个表达式且 D 具有 void 返回类型,或 F 是异步的且 D 具有返回类型 Task,则将
F 的每个参数均指定为 D 中对应参数的类型时,F 的主体是有效表达式(请参考第 7 章),该表达
式将允许作为 statement-expression(第 8.6 节)。
如果 F 的主体是一个语句块且 D 具有 void 返回类型,或 F 是异步的且 D 具有返回类型 Task,则将
F 的每个参数均指定为 D 中对应参数的类型时,F 的主体是有效语句块(请参考第 8.2 节),在该语
句块中没有 return 语句指定了表达式。
在 F 的函数体为表达式时,如果 F 为非异步且 D 具有非空返回类型 T,或 F 为异步且 D 具有返回类
型 Task