Compiler Error CS0545

"Funktion": Überschreiben nicht möglich, weil "Eigenschaft" keinen überschreibbaren get-Accessor hat

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.

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