Compilerfehler CS0545Compiler Error CS0545

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

Versuchte Definition einer Überschreibung eines Eigenschaftenaccessors, obwohl die Basisklasse keine Definition, die überschrieben werden kann, aufweist.A try was made to define an override for a property accessor when the base class has no such definition to override. So beheben Sie diesen Fehler:You can resolve this error by:

  • Fügen Sie der Basisklasse einen set-Accessor hinzu.Adding a set accessor in the base class.

  • Entfernen Sie den Accessor set aus der abgeleiteten Klasse.Removing the set accessor from the derived class.

  • Blenden Sie die Basisklasseneigenschaft aus, indem Sie das Schlüsselwort new einer Eigenschaft in einer abgeleiteten Klasse hinzufügen.Hiding the base class property by adding the new keyword to a property in a derived class.

  • Machen Sie die Basisklasseneigenschaft zu einer virtuellen Eigenschaft.Making the base class property virtual.

Weitere Informationen finden Sie unter Verwenden von Eigenschaften.For more information, see Using Properties.

BeispielExample

Im folgenden Beispiel wird CS0545 generiert:The following sample generates 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  
   }  
}