Stworzyłem interfejs z kilkoma właściwościami.
Gdyby interfejs nie istniał, wszystkie właściwości obiektu klasy zostałyby ustawione na
{ get; private set; }
Jednak nie jest to dozwolone w przypadku korzystania z interfejsu, więc czy można to osiągnąć, a jeśli tak, to w jaki sposób?
c#
asp.net
interface
getter-setter
dotnetnoob
źródło
źródło
Interfejs definiuje publiczne API. Jeśli publiczne API zawiera tylko getter, to w interfejsie definiujemy tylko getter:
Ustawiacz prywatny nie jest częścią publicznego api (jak każdy inny prywatny członek), dlatego nie można go zdefiniować w interfejsie. Możesz jednak dodawać dowolnych (prywatnych) członków do implementacji interfejsu. Właściwie nie ma znaczenia, czy ustawiający zostanie zaimplementowany jako publiczny czy prywatny, czy też będzie ustawiający:
Setter nie jest częścią interfejsu, więc nie można go wywołać przez interfejs:
źródło