“Optional”不能应用于扩展方法的第一个参数。 第一个参数指定要扩展哪个类型。
扩展方法的第一个参数指定该方法扩展的数据类型。 执方法行时,第一个参数绑定到调用该方法的数据类型的实例。 因此,第一个参数是必需的,而不能是可选的。
此限制仅适用于第一个参数。 其他参数可以是也可以不是可选的,遵循其他方法中的相同规则。 有关更多信息,请参见 Parameter List。
错误 ID: BC36553
更正此错误
如果希望当前第一个参数指定要扩展的数据类型,请删除
Optional关键字。如果当前第一个参数是该方法的标准参数,而你不希望它表示要扩展的数据类型,请添加新的第一个参数。
示例
以下示例中的第一个参数是唯一指示,它指示 Print 方法扩展 String 数据类型。 因此,它不能为可选。
<Extension()>
Public Sub Print (ByVal str As String)
Console.WriteLine(str)
End Sub
当如下调用扩展方法时,该方法中的参数 str 绑定到 greeting,它是调用 String 的 Print的实例。 编译器使用 greeting 作为扩展方法 Print的参数。
Dim greeting As String = "Hello"
greeting.Print()