Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein generischer Typ ist als <CLSCompliant(True)>markiert, aber eine Einschränkung für einen seiner Typparameter gibt einen Typ an, der als <CLSCompliant(False)>markiert ist, nicht markiert ist oder nicht geeignet ist, weil es sich um einen nicht kompatiblen Typ handelt.
Damit ein Typ mit Sprachunabhängigkeit und sprachunabhängigen Komponenten (CLS) kompatibel ist, darf sie ausschließlich CLS-kompatible Typen verwenden. Dies gilt auch für die Einschränkungen von Typparametern eines generischen Typs.
Die folgenden Visual Basic-Datentypen sind nicht CLS-kompatibel:
Wenn Sie das CLSCompliantAttribute -Attribut auf ein Programmierelement anwenden, legen Sie den isCompliant -Parameter des Attributs auf True oder False fest, um die Kompatibilität bzw. Nichtkompatibilität anzugeben. Es gibt keinen Standardwert für diesen Parameter, und Sie müssen einen Wert angeben.
Wenn Sie CLSCompliantAttribute nicht auf ein Element anwenden, wird dieses als nicht kompatibel betrachtet.
Standardmäßig ist diese Meldung eine Warnung. Informationen zum Ausblenden von Warnungen oder zum Behandeln von Warnungen als Fehler finden Sie unter Configuring Warnings in Visual Basic.
Fehler-ID: BC40040
So beheben Sie diesen Fehler
Entfernen Sie CLSCompliantAttribute, wenn der generische Typ einen auf diesen speziellen Typ eingeschränkten Typparameter akzeptieren muss. Der Typ kann nicht CLS-kompatibel sein.
Wenn der generische Typ CLS-kompatibel sein muss, ändern Sie den Typ dieser Einschränkung in den ähnlichsten CLS-kompatiblen Typ. Anstelle von
UIntegerkönnten Sie beispielsweiseIntegerverwenden, wenn Sie den Wertebereich über 2.147.483.647 nicht benötigen. Wenn Sie den erweiterten Bereich benötigen, können SieUIntegerdurchLongersetzen.