次の方法で共有


BC36550: 'Extension' 属性は、'Module'、'Sub'、または 'Function' 宣言にのみ適用できます

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

こちらも参照ください