Ich habe eine Schnittstelle mit einigen Eigenschaften erstellt.
Wenn die Schnittstelle nicht vorhanden wäre, würden alle Eigenschaften des Klassenobjekts auf gesetzt
{ get; private set; }
Dies ist jedoch bei Verwendung einer Schnittstelle nicht zulässig. Kann dies erreicht werden und wenn ja, wie?
c#
asp.net
interface
getter-setter
dotnetnoob
quelle
quelle
Schnittstelle definiert öffentliche API. Wenn die öffentliche API nur Getter enthält, definieren Sie nur Getter in der Schnittstelle:
Private Setter sind nicht Teil der öffentlichen API (wie jedes andere private Mitglied), daher können Sie sie nicht in der Schnittstelle definieren. Es steht Ihnen jedoch frei, (private) Mitglieder zur Schnittstellenimplementierung hinzuzufügen. Eigentlich spielt es keine Rolle, ob der Setter als öffentlich oder privat implementiert wird oder ob es einen Setter gibt:
Setter ist nicht Teil der Schnittstelle, kann also nicht über Ihre Schnittstelle aufgerufen werden:
quelle