“Extension”属性只能应用于“Module”、“Sub”或“Function”声明。
更新:2007 年 11 月
在 Visual Basic 中扩展数据类型的唯一方式是在标准模块内定义一个扩展方法。扩展方法可以是 Sub 过程或 Function 过程。所有扩展方法都必须使用 System.Runtime.CompilerServices 命名空间中的扩展属性 <Extension()> 进行标记。还可以根据需要以相同的方式标记包含扩展方法的模块。扩展属性的其他使用方式均无效。
**错误 ID:**BC36550
更正此错误
移除扩展属性。
将扩展重新设计为在封闭模块中定义的方法。
示例
下面的示例为 String 数据类型定义了 Print 方法。
Imports StringUtility
Imports System.Runtime.CompilerServices
Namespace StringUtility
<Extension()> _
Module StringExtensions
<Extension()> _
Public Sub Print (ByVal str As String)
Console.WriteLine(str)
End Sub
End Module
End Namespace