W ramach dokumentacji Roslyn w serwisie GitHub znajduje się strona o nazwie Stan implementacji funkcji języka z planowanymi funkcjami językowymi dla C # i VB.
Jedną z funkcji, której nie mogłem ogarnąć głowy, był private protected
modyfikator dostępu:
private protected string GetId() { … }
Istnieje również strona notatek projektowych języka C # , która wyjaśnia wiele nowych funkcji, ale nie tę.
Eric Lippert powiedział w komentarzu :
Twój błąd polega na myśleniu o modyfikatorach jako o rosnących ograniczeniach. W rzeczywistości modyfikatory zawsze zmniejszają ograniczenia. Pamiętaj, że rzeczy są domyślnie „prywatne”; tylko poprzez dodanie modyfikatorów sprawisz, że będą mniej ograniczone.
Jakie to ma znaczenie private protected
? Kiedy mogę tego użyć?
protected & internal
, assembly protected
lub proternal
(mam nadzieję, że niektóre z nich są żarty). Jest też wątek Dyskusja z ciekawymi spostrzeżeniami.
protected | internal
iprotected & internal