Freigeben über


Compilerfehler C3797

'außer Kraft setzen': Die Ereignisdeklaration darf keinen Überschreibungsbezeichner haben (sollte stattdessen für Methoden zum Hinzufügen/Entfernen/Auslösen des Ereignisses platziert werden).

Bemerkungen

Sie können ein triviales Ereignis (ein Ereignis ohne explizit definierte Accessormethoden) nicht mit einem anderen trivialen Ereignis überschreiben. Das Außerkraftsetzungsereignis muss sein Verhalten mit Accessorfunktionen definieren.

Weitere Informationen finden Sie unter "Event".

Beispiel

Im folgenden Beispiel wird C3797 generiert.

// C3797.cpp
// compile with: /clr /c
delegate void MyDel();

ref class Class1 {
public:
   virtual event MyDel ^ E;
};

ref class Class2 : public Class1 {
public:
   virtual event MyDel ^ E override;   // C3797
};

// OK
ref class Class3 : public Class1 {
public:
   virtual event MyDel ^ E {
      void add(MyDel ^ d) override {}
      void remove(MyDel ^ d) override {}
   }
};