メンバ '<membername>' の型は CLS に準拠していません。
更新 : 2007 年 11 月
このメンバに指定されたデータ型が、共通言語仕様 (CLS) のデータ型ではありません。.NET Framework および Visual Basic ではこのデータ型はサポートされているので、これは使用しているコンポーネントではエラーになりません。ただし、CLS に厳密に準拠するコードで書かれた別のコンポーネントでは、このデータ型がサポートされない可能性があります。そのようなコンポーネントは、使用しているコンポーネントと正常にやり取りできない場合があります。
次の Visual Basic データ型は CLS に準拠していません。
既定では、このメッセージは警告です。警告を非表示にする方法や、警告をエラーとして扱う方法の詳細については、Visual Basic での警告の構成 を参照してください。
Error ID: BC40025
このエラーを解決するには
コンポーネントが他の .NET Framework コンポーネントだけとやり取りする場合、または他のコンポーネントとのやり取りがない場合、コードを変更する必要はありません。
.NET Framework 向けに書かれていないコンポーネントとやり取りする場合、リフレクションを使用するかドキュメントを参照して、このデータ型がそのコンポーネントでサポートされているかどうかを確認できる可能性があります。サポートされている場合は、コードを変更する必要はありません。
このデータ型をサポートしないコンポーネントとやり取りする場合は、最も近い CLS 準拠型にデータ型を置き換える必要があります。たとえば、2,147,483,647 を超える値の範囲が必要でない場合は、UInteger の代わりに Integer を使用できます。拡張範囲が必要な場合は、UInteger を Long で置き換えることができます。
オートメーション オブジェクトまたは COM オブジェクトとやり取りする場合は、一部のデータ型のデータ幅が .NET Framework では異なることに注意してください。たとえば、uint は他の環境では 16 ビットです。そのようなコンポーネントに 16 ビットの引数を渡す場合は、Visual Basic のマネージ コードで、UInteger 型ではなく UShort 型で宣言してください。