COBCH1707 他のメンバとの違いが大文字小文字だけしかないため、メンバ '<メンバ名>' は CLS 準拠ではない

CLS 準拠としてマークされたメンバが、アセンブリ内の他のメンバと同じ名前です (大文字またと小文字の違いのみ)。

いずれかのメンバ名を変更するか、名前の大文字と小文字だけが異なり、同じシグネチャを持つ全メンバに CLSCompliant(false) 属性を設定します。

class-id myClass.
assembly-attributes.
 attribute CLSCompliant(true).

method-id myMethod.  *> add attribute CLSCompliant(false)                   
procedure division using by value myParam as binary-long unsigned. 
...
end method.
method-id MYMethod.  *> add attribute CLSCompliant(false)
procedure division using by value myParam as binary-long unsigned.
...
end method.
end class.

CLSCompliant 属性の設定には次のルールがあります。

  • アセンブリ レベルで属性を設定すると、アセンブリ内の全メンバが CLS 準拠になり、CLS 準拠でない場合にコンパイラが警告を発します。
  • アセンブリ レベルで属性を設定する際には、個々のメンバに CLSCompliant(false) 属性を設定して警告が発生しないようにできます。
  • メソッドまたはフィールドに属性を設定する際には、包含されるクラスまたはアセンブリにも属性を設定する必要があります。
  • クラスに属性を設定する際には、包含されるアセンブリにも属性を設定する必要があります。