Compiler Error CS0546
"Accessor": Überschreiben nicht möglich, weil "Eigenschaft" keinen überschreibbaren set-Accessor hat.
Beim Versuch, eine der Accessormethoden für eine Eigenschaft zu überschreiben, ist ein Fehler aufgetreten, da der Accessor nicht überschrieben werden kann. Dieser Fehler kann in den folgenden Fällen auftreten:
Die Basisklasse ist nicht als virtuelldeklariert.
Die Basisklasseneigenschaft deklariert den get - oder set -Accessor nicht, den Sie überschreiben möchten.
Wenn Sie die Basisklasseneigenschaft nicht überschreiben möchten, können Sie vor der Eigenschaft in einer abgeleiteten Klasse das new -Schlüsselwort verwenden.
Weitere Informationen finden Sie unter Using Properties.
Beispiel
Im folgende Beispiel wird CS0546 generiert, da die Basisklasse keinen set-Accessor für die Eigenschaft deklariert.
// CS0546.cs
// compile with: /target:library
public class a
{
public virtual int i
{
get
{
return 0;
}
}
public virtual int i2
{
get
{
return 0;
}
set {}
}
}
public class b : a
{
public override int i
{
set {} // CS0546 error no set
}
public override int i2
{
set {} // OK
}
}
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für