ジェネリック型が <CLSCompliant(True)>としてマークされていますが、1 つの型パラメーターに対する制約で指定している型が <CLSCompliant(False)>としてマークされているか、マークされていないか、非準拠の型であるため修飾されていません。
型を言語への非依存性および言語非依存コンポーネント (CLS) に準拠させるには、CLS 準拠型のみを使用する必要があります。 このことは、ジェネリック型の型パラメーターに対する制約にも当てはまります。
次の Visual Basic データ型は CLS に準拠していません。
プログラミング要素に CLSCompliantAttribute 属性を適用するときは、属性の isCompliant パラメーターを True または False のどちらかに設定して、準拠または非準拠を示します。 このパラメーターには既定値がありません。値を指定する必要があります。
要素に CLSCompliantAttribute を適用しないと、その要素は非準拠と見なされます。
既定では、このメッセージは警告です。 警告を非表示にする方法や、警告をエラーとして扱う方法の詳細については、「 Configuring Warnings in Visual Basic」をご覧ください。
エラー ID: BC40040
このエラーを解決するには
ジェネリック型が、この特定の型で制限された型パラメーターを使用する必要がある場合は、 CLSCompliantAttributeを削除します。 この型は CLS 準拠になりません。
ジェネリック型を CLS 準拠にする必要がある場合は、この制約の型を、最も近い CLS 準拠型に変更します。 たとえば、2,147,483,647 を超える値の範囲が不要な場合は、
UIntegerの代わりにIntegerを使用できます。 拡張範囲が必要な場合は、UIntegerの代わりにLongを使用できます。
関連項目
.NET