“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

请参见

概念

属性的应用

扩展方法 (Visual Basic)

参考

Module 语句