CLSCompliantAttribute 属性は、プログラム要素であるアセンブリ、モジュール、クラス、構造体、列挙体、コンストラクタ、メソッド、プロパティ、フィールド、イベント、インターフェイス、デリゲート、パラメータ、および戻り値に適用できます。ただし、CLS に準拠しているかどうかは、アセンブリ、モジュール、型、および型のメンバに対してだけ意味があり、メンバのシグネチャの各部に対しては意味がありません。したがって、CLSCompliantAttribute がパラメータや戻り値のプログラム要素に適用されている場合は、無視されます。
CLSCompliantAttribute がプログラム要素に適用されていない場合は、既定では次のように判断されます。
アセンブリに CLS 準拠のラベルが付けられている場合、false 引数を指定した CLSCompliantAttribute で、そのアセンブリでパブリックに公開されている型のうち CLS に準拠していない型をマークする必要があります。同様に、クラスに CLS 準拠のラベルが付けられている場合は、CLS に準拠していない全メンバを個別にマークする必要があります。CLS に準拠していないすべてのメンバは、その代わりとなる CLS 準拠のメンバを提供する必要があります。
アセンブリまたはモジュールに適用する属性は、using (Visual Basic では Imports) 句の後、コードの前に記述する必要があります。
属性の使用方法については、「属性を使用したメタデータの拡張」を参照してください。
メモ : |
|---|
現在の Microsoft Visual Basic コンパイラは CLS 準拠に関する警告が生成されないように設定されていますが、将来のリリースでは警告が生成されます。 |