Die <Prozedurname>-Methode für das <Ereignisname>-Ereignis kann nicht als CLS-kompatibel markiert werden, da der enthaltende <Typname>-Typ nicht CLS-kompatibel ist

Aktualisiert: November 2007

'<procedurename>' method for event '<eventname>' cannot be marked CLS compliant because its containing type '<typename>' is not CLS compliant

Ein benutzerdefiniertes Ereignis deklariert eine AddHandler-Prozedur oder eine RemoveHandler-Prozedur und markiert sie als <CLSCompliant(True)>, doch das Ereignis ist mit einem Typ definiert, der als <CLSCompliant(False)> markiert oder nicht markiert ist.

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 auf ein Element nicht 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: BC40053

So beheben Sie diesen Fehler

  • Wenn CLS-Kompatibilität erforderlich ist, definieren Sie das Ereignis mit einem Typ, der CLS-kompatibel ist.

  • Wenn das Ereignis im enthaltenden Typ verbleiben muss, entfernen Sie das CLSCompliantAttribute aus seiner Definition, oder markieren Sie es als <CLSCompliant(False)>.

Siehe auch

Aufgaben

Gewusst wie: Deklarieren von Ereignissen zum Vermeiden einer Blockierung

Gewusst wie: Deklarieren von Ereignissen, die Speicherplatz sparen

Konzepte

AddHandler und RemoveHandler

Schreiben von CLS-kompatiblem Code