Nicht außer Kraft setzen kann Eigentum auch geschützt wird eingestellt

Habe ich die folgenden Basis-Klasse:

abstract class Base
{
 public abstract object Var
 {
  get;
  protected set;
 }
}

Und diese abgeleitete Klasse:

class Derived : Base
{
 public override object Var
 {
  get {//code here
  }
  set {//code here -- I get error here!
  }
 }
}

Aber ich bin immer diese Fehlermeldung:

Nicht ändern access-modifier beim überschreiben der "geschützten" vererbten member 'Var'

Ich habe versucht, das hinzufügen einer protected und private keywords vor, aber es half nicht. Wie kann ich dieses Problem beheben?

UPDATE:
Die Basisklasse muss stellen Sie sicher, dass Unterklassen geben Sie einen Wert für Var zum Zeitpunkt der Erstellung. So brauche ich, um das Set-Deklaration in Basisklasse.
Alternativ könnte ich deklariere eine private member-variable, um dies zu tun, und entfernen Sie die setter, aber das ist nicht eine option, wie besprochen,hier.

InformationsquelleAutor atoMerz | 2011-12-31

Schreibe einen Kommentar