更新:2007 年 11 月
如果将 Option Strict 设置为“On”,则无法在委托参数数据类型与分配给该委托类型变量的 lambda 表达式的对应参数之间进行收缩转换。例如,在下面的代码中,委托 Del 具有一个 Integer 类型的参数。
Delegate Function Del(ByVal p As Integer) As String
因此,分配给 Del 类型变量的任何 lambda 表达式的对应参数可以是 Integer,或者可以是任何存在以 Integer 为转换来源的扩大转换的数据类型。
' Valid.
Dim example1 As Del = Function(n As Integer) "Valid"
Dim example2 As Del = Function(n As Long) "Valid"
' Not valid.
Dim example3 As Del = Function(n As Short) "Not Valid"
**错误 ID:**BC36662
更正此错误
更改委托或 lambda 表达式中的参数的数据类型,以便存在所需的扩大关系。
不要在 lambda 表达式中指定参数数据类型。将从委托内的对应参数中推断类型。
Dim example4 As Del = Function(n) "Valid"