Errore del compilatore CS0545

Aggiornamento: novembre 2007

Messaggio di errore

'funzione': impossibile eseguire l'override perché 'proprietà' non dispone di una funzione di accesso get che si può ignorare.
'function' : cannot override because 'property' does not have an overridable get accessor

È stato effettuato un tentativo di definire un override per una funzione di accesso alla proprietà, ma la classe base non dispone di una definizione per l'override. È possibile risolvere questo errore:

  • Aggiungendo una funzione di accesso set nella classe base.

  • Rimuovendo la funzione di accesso set dalla classe derivata.

  • Nascondendo la proprietà della classe base mediante l'aggiunta della parola chiave new in una proprietà di una classe derivata.

  • Impostando la proprietà della classe base come virtual.

Per ulteriori informazioni, vedere Utilizzo delle proprietà (Guida per programmatori C#).

Esempio

Il seguente codice di esempio genera l'errore CS0545:

// CS0545.cs
// compile with: /target:library
// CS0545
public class a
{
   public virtual int i
   {
      set {}

      // Uncomment the following line to resolve.
      // get { return 0; }
   }
}

public class b : a
{
   public override int i
   {
      get { return 0; }
      set {}   // OK
   }
}