Errore del compilatore CS0072

Aggiornamento: novembre 2007

Messaggio di errore

'evento': impossibile eseguire l'override. 'metodo' non è un evento.
'event' : cannot override; 'method' is not an event

Un evento può eseguire solo l'override di un altro evento. Per ulteriori informazioni, vedere Eventi (Guida per programmatori C#).

Il seguente codice di esempio genera l'errore CS0072:

// CS0072.cs
delegate void MyDelegate();

class Test1
{
   public virtual event MyDelegate MyEvent;
   public virtual void VMeth()
   {
   }

   public void FireAway()
   {
      if (MyEvent != null)
         MyEvent();
   }
}

class Test2 : Test1
{
   public override event MyDelegate VMeth   // CS0072
   // uncomment the following lines to resolve
   // public override event MyDelegate MyEvent
   {
      add
      {
         VMeth += value;
         // MyEvent += value;
      }
      remove
      {
         VMeth -= value;
         // MyEvent -= value;
      }
   }

   public static void Main()
   {
   }
}