Sdílet prostřednictvím


Chyba kompilátoru C3797

"override": Deklarace události nemůže mít specifikátor přepsání (místo toho by se měl umístit na metody add/remove/raise události).

Poznámky

Triviální událost (událost bez explicitně definovaných metod přístupového objektu) nelze přepsat jinou triviální událostí. Událost přepsání musí definovat své chování pomocí funkcí přístupového objektu.

Další informace najdete v tématu události.

Příklad

Následující příklad vygeneruje C3797.

// 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 {}
   }
};