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