Ein nicht CLS-kompatibler MustOverride-Member ist in einem CLS-kompatiblen <classname> nicht zulässig.
Eine Klasse ist als <CLSCompliant(True)>
markiert, enthält aber eine MustOverride
-Eigenschaft oder -Prozedur, die als <CLSCompliant(False)>
oder gar nicht markiert ist.
Wenn eine Klasse mit CLS (Language Independence and Language-Independent Components) kompatibel ist, greift eine Anwendung, die diese Klasse verwendet, nur auf die Member zu, die auch als <CLSCompliant(True)>
gekennzeichnet sind, und ignoriert die Member, die nicht als solche gekennzeichnet sind. Die Anwendung kann eine MustOverride
-Eigenschaft oder -Prozedur jedoch nicht ignorieren, weil sie auf diese Eigenschaft bzw. Prozedur zugreifen muss, um sie außer Kraft zu setzen.
Wenn Sie das CLSCompliantAttribute 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 das 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: BC40034
Wenn Sie CLS-Kompatibilität benötigen und die Kontrolle über den Quellcode für die Klasse haben, markieren Sie den Member als
<CLSCompliant(True)>
.Wenn Sie CLS-Kompatibilität benötigen und keine Kontrolle über den Quellcode für die Klasse haben, oder wenn der Quellcode nicht kompatibel ist, definieren Sie den Member in einer anderen Klasse.
Wenn dieser Member nicht kompatibel sein darf, entfernen Sie das
MustOverride
-Schlüsselwort aus seiner Definition, entfernen Sie CLSCompliantAttribute aus der Klassendefinition, oder markieren Sie die Klasse als<CLSCompliant(False)>
.
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: