Schnittstelle public API definiert. Wenn die öffentliche API nur Getter enthält, dann definieren Sie nur Getter in-Schnittstelle:
public interface IBar
{
int Foo { get; }
}
Privat Setter ist nicht Teil der öffentlichen api (wie jedes andere private Mitglied), so können Sie es nicht in der Schnittstelle definieren. Sie können jedoch beliebige (private) Mitglieder zur Schnittstellenimplementierung hinzufügen. Eigentlich ist es egal, ob Setter wird als öffentlich oder privat durchgeführt werden, oder wenn es Setter sein wird:
public int Foo { get; set; } // public
public int Foo { get; private set; } // private
public int Foo
{
get { return _foo; } // no setter
}
public void Poop(); // this member also not part of interface
Setter ist nicht Teil der Schnittstelle, so kann es nicht über Ihre Schnittstelle aufgerufen werden:
IBar bar = new Bar();
bar.Foo = 42; // will not work thus setter is not defined in interface
bar.Poop(); // will not work thus Poop is not defined in interface
Danke, du hast mich gerettet –
Aus irgendeinem Grund kann ich mich nie daran erinnern. Ich glaube, ich bin 13 Mal in meiner Karriere über Google auf dieser Seite gelandet. LOL – Dan
@Dan Du bist nicht alleine: D – Vahid