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

関連項目