Freigeben über


Ein nicht CLS-kompatibler Mustoverride-Member ist in '<Klassenname>' (CLS-kompatibel) nicht zulässig

Aktualisiert: November 2007

Non-CLS-compliant 'MustOverride' member is not allowed in a CLS-compliant <classname>

Eine Klasse ist als <CLSCompliant(True)> markiert, enthält jedoch eine MustOverride-Eigenschaft oder -Prozedur, die als <CLSCompliant(False)> markiert oder nicht markiert ist.

Wenn eine Klasse mit der CLS (Common Language Specification) (CLS) kompatibel ist, greift eine Anwendung, die diese Klasse verwendet, nur auf die ebenfalls als <CLSCompliant(True)> markierten Member zu und ignoriert die Member, die nicht als CLS-kompatibel markiert sind. Die Anwendung kann jedoch keine MustOverride-Eigenschaft oder -Prozedur ignorieren, weil sie auf diese Eigenschaft bzw. Prozedur zugreifen muss, um sie zu überschreiben.

Wenn Sie CLSCompliantAttribute auf ein Programmierelement anwenden, legen Sie den isCompliant-Parameter des Attributs auf True oder auf 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 über das Ausblenden von Warnungen bzw. über die Behandlung von Warnungen als Fehler finden Sie unter Konfigurieren von Warnungen in Visual Basic.

Fehler-ID: BC40034

So beheben Sie diesen Fehler

  • Wenn Sie CLS-Kompatibilität benötigen und über die Quellcodeverwaltung der Klasse verfügen, markieren Sie den Member als <CLSCompliant(True)>.

  • Wenn Sie CLS-Kompatibilität benötigen und nicht über die Quellcodeverwaltung der Klasse verfügen oder wenn die Klasse nicht die Kompatibilitätsvoraussetzungen erfüllt, definieren Sie diesen Member in einer anderen Klasse.

  • Wenn dieser Member nicht kompatibel sein darf, entfernen Sie das MustOverride-Schlüsselwort aus der Definition des Members, entfernen Sie das CLSCompliantAttribute aus der Klassendefinition, oder markieren Sie die Klasse als <CLSCompliant(False)>.

Siehe auch

Konzepte

Schreiben von CLS-kompatiblem Code

Referenz

MustOverride