“Optional”不能应用于扩展方法的第一个参数
更新:2007 年 11 月
错误消息
“Optional”不能应用于扩展方法的第一个参数。第一个参数指定要扩展哪种类型。
扩展方法的第一个参数指定方法将扩展的数据类型。执行方法时,第一个参数会绑定到调用该方法的数据类型的实例。因此,第一个参数是必需的,而不能是可选的。
此限制只适用于第一个参数。其他参数可能是可选的,也可能不是,遵循任何其他任何方法中的相同规则。有关更多信息,请参见参数列表。
**错误 ID:**BC36553
更正此错误
如果希望当前第一个参数指定要扩展的数据类型,请移除 Optional 关键字。
如果当前第一个参数是方法的标准参数,并且您不希望它表示要扩展的数据类型,请添加新的第一个参数。
示例
下面示例中的第一个参数是 Print 方法扩展 String 数据类型的唯一指示。因此,它不能是可选的。
<Extension()>
Public Sub Print (ByVal str As String)
Console.WriteLine(str)
End Sub
按照如下方式调用扩展方法时,该方法中的 str 参数会绑定到 greeting(即调用 Print 的 String 的实例)。编译器将 greeting 用作扩展方法 Print 的参数。
Dim greeting As String = "Hello"
greeting.Print()