Condividi tramite


Errore del compilatore C3797

'override': la dichiarazione di evento non può avere l'identificatore di override (deve essere inserito nei metodi add/remove/raise dell'evento)

Osservazioni:

Non è possibile eseguire l'override di un evento semplice (un evento senza metodi di accesso definiti in modo esplicito) con un altro evento semplice. L'evento di override deve definirne il comportamento con le funzioni di accesso.

Per altre informazioni, vedere evento.

Esempio

L'esempio seguente genera l'errore 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 {}
   }
};