Compilerfehler CS0545

Aktualisiert: November 2007

Fehlermeldung

"Funktion": Überschreiben nicht möglich, weil "Eigenschaft" keinen überschreibbaren get-Accessor hat
'function' : cannot override because 'property' does not have an overridable get accessor

Es wurde versucht, für einen Eigenschaften-Accessor eine Überschreibung zu definieren, die Basisklasse verfügt jedoch über keine solche überschreibbare Definition. Der Fehler kann folgendermaßen behoben werden:

  • Fügen Sie in der Basisklasse einen set-Accessor hinzu.

  • Entfernen Sie den set-Accessor aus der abgeleiteten Klasse.

  • Blenden Sie die Basisklasseneigenschaft aus, indem Sie in der Eigenschaft einer abgeleiteten Klasse das new-Schlüsselwort hinzufügen.

  • Markieren Sie die Basisklasseneigenschaft als virtuell.

Weitere Informationen finden Sie unter Verwenden von Eigenschaften (C#-Programmierhandbuch).

Beispiel

Im folgenden Beispiel wird CS0545 generiert:

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