Оно делает свойство доступным только для чтения внешними источниками (то есть классами, которые не являются MyClass
и / или его подклассами). Или, если вы объявили свойство protected
с private set
, оно доступно только для чтения его подклассами, но доступно для записи самим.
Это не имеет значения в вашем классе, потому что ваш установщик является закрытым для этого класса, так что ваш класс все еще может получить к нему доступ. Однако если вы попытаетесь создать экземпляр MyClass
из другого класса, вы не сможете изменить значение свойства Foo
, если оно имеет закрытый или защищенный установщик.
private
и protected
означают здесь то же самое, что и в других местах: private
ограничивает доступ только этому самому классу, тогда как protected
ограничивает доступ к этому классу и всем его производным классам.