Freigeben über


Der zugrunde liegende <Typname>-Typ der Enumeration ist nicht CLS-kompatibel

Aktualisiert: November 2007

Underlying type <typename> of Enum is not CLS-compliant

Der für diese Enumeration angegebene Datentyp ist nicht in der CLS (Common Language Specification) (CLS) enthalten. Dies ist kein Fehler in der Komponente, da .NET Framework und Visual Basic diesen Datentyp unterstützen. Jedoch unterstützt möglicherweise eine andere, in grundsätzlich CLS-kompatiblem Code geschriebene Komponente diesen Datentyp nicht. Eine solche Komponente kann möglicherweise nicht erfolgreich mit Ihrer Komponente interagieren.

Die folgenden Visual Basic-Datentypen sind nicht CLS-kompatibel:

Standardmäßig ist diese Meldung eine Warnung. Weitere Informationen über das Ausblenden von Warnungen bzw. über die Behandlung von Warnungen als Fehler finden Sie unter Konfigurieren von Warnungen in Visual Basic.

Fehler-ID: BC40032

So beheben Sie diesen Fehler

  • Wenn die Komponente nur mit anderen .NET Framework-Komponenten oder mit keinen anderen Komponenten verbunden ist, müssen Sie nichts ändern.

  • Wenn die Komponente mit einer nicht für .NET Framework geschriebenen Komponente verbunden ist, können Sie eventuell über Reflektion oder anhand der Dokumentation bestimmen, ob sie diesen Datentyp unterstützt. Wenn dies der Fall ist, müssen Sie nichts ändern.

  • Wenn die Komponente mit einer Komponente verbunden ist, die diesen Datentyp nicht unterstützt, müssen Sie sie durch den ähnlichsten CLS-kompatiblen Typ ersetzen. Möglicherweise können Sie z. B. Integer anstelle von UInteger verwenden, wenn Sie den Wertebereich über 2.147.483.647 nicht benötigen. Wenn Sie den erweiterten Bereich benötigen, können Sie UInteger durch Long ersetzen.

  • Wenn Sie Verbindungen mit Automatisierungs- oder COM-Objekten verwenden, beachten Sie, dass einige Typen über andere Datenbreiten als in .NET Framework verfügen. Beispielsweise umfasst uint in anderen Umgebungen oft 16 Bits. Wenn Sie an eine solche Komponente ein 16-Bit-Argument übergeben, deklarieren Sie es im verwalteten Visual Basic-Code als UShort und nicht als UInteger.

Siehe auch

Konzepte

Übersicht über Reflektion

Schreiben von CLS-kompatiblem Code

Weitere Ressourcen

Reflektion