'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 ステートメント