enum の基になる型 '<typename>' は CLS に準拠していません。

更新 : 2007 年 11 月

この列挙値に指定されたデータ型は、共通言語仕様 (CLS) のデータ型ではありません。.NET Framework および Visual Basic はこのデータ型をサポートするため、このコンポーネントの内部ではエラーになりませんが、CLS に厳密に準拠したコードに作成された別のコンポーネントは、このデータ型をサポートしない可能性があります。そのようなコンポーネントは、このコンポーネントと正常にやり取りできない可能性があります。

次の Visual Basic データ型は CLS に準拠していません。

既定では、このメッセージは警告です。警告を非表示にする方法や、警告をエラーとして扱う方法の詳細については、Visual Basic での警告の構成 を参照してください。

Error ID: BC40032

このエラーを解決するには

  • このコンポーネントが他の .NET Framework コンポーネントとのみやり取りする場合、または他のどのコンポーネントともやり取りしない場合は、何も変更する必要はありません。

  • .NET Framework 用に作成されていないコンポーネントとやり取りする場合は、リフレクションまたはドキュメントを調べて、このデータ型がサポートされているかどうかを確認できる可能性があります。サポートされている場合は、何も変更する必要はありません。

  • このデータ型をサポートしないコンポーネントとやり取りする場合は、CLS 準拠の型の中で最も近いデータ型に置き換える必要があります。たとえば、2,147,483,647 を超える値の範囲が必要でない場合は、UInteger の代わりに Integer を使用できます。範囲を拡張する必要がある場合は、UInteger を Long で置き換えてください。

  • オートメーションまたは COM オブジェクトとやり取りする場合は、一部の型に .NET Framework とはデータ幅が異なるものがあることに注意してください。たとえば、uint は他の環境では 16 ビットです。そのようなコンポーネントに 16 ビットの引数を渡す場合は、Visual Basic のマネージ コードで、UInteger 型ではなく UShort 型で宣言してください。

参照

概念

リフレクションの概要

CLS 準拠コードの記述

その他の技術情報

リフレクション