メンバ '<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 型で宣言してください。

参照

概念

リフレクションの概要

CLS 準拠コードの記述

その他の技術情報

リフレクション