文件名称:方法组转换-大彩串口屏各组态控件详细介绍
文件大小:4.46MB
文件格式:PDF
更新时间:2024-06-28 03:33:30
C#5.0 PDF C#学习
6.6 方法组转换 存在从方法组(第 7.1 节)到兼容委托类型的隐式转换(第 6.1 节)。对于给定的委托类型 D 和归类为 方法组的表达式 E,如果下述条件成立则存在从 E 到 D 的隐式转换:E 至少包含一个方法,该方法能够 以其正常形式(第 7.5.3.1 节)应用于使用 D 的形参类型和修饰符构造的实参列表,如下所述。 从方法组 E 转换到委托类型 D 的编译时应用在下面的部分中描述。注意,存在从 E 到 D 的隐式转换并 不保证该转换的编译时应用会成功和不会出错。 对于 E(A) 形式的方法调用(第 7.6.5.1 节),仅选择一个方法 M,并进行以下修改: o 实参列表 A 是一个表达式列表,其中的每个表达式均可归类为一个变量并且具有 D 的 formal- parameter-list 中的对应形参的类型和修饰符(ref 或 out)– 类型 dynamic 的形参除外,其中 对应的表达式具有类型 object 而不是 dynamic。 o 所考虑的候选方法仅为那些可以其正常形式加以应用并且不会省略任何可选形参的方法(第 7.5.3.1 节)。因此,如果候选方法只能以其展开形式应用,或者它们的一个或多个可选形参在 D 中没有对应的形参,则将忽略这些方法。 如果第 7.6.5.1 节的算法产生与 D 具有相同形参个数的最佳方法 M,则将视作转换存在。 即使转换存在,如果选定的方法 M 与委托类型 D 不兼容(第 15.2 节),则将出现编译时错误。 如果选定的方法 M 是实例方法,则与 E 关联的实例表达式确定委托的目标对象。