为什么财产是公共的,而二传手是私有的
c#
我在一些网站上看到了这个例子:
public class infoData
{
public FridgeProduct fridgeProduct { get; private set; }
}
如果冰箱产品字段被定义为公共字段并且可以通过任何其他类的定义访问,那么做私有设置器有什么意义?
回答
私有 setter 的作用是只能从类内部写入属性,而不能从外部写入。
请注意,set 访问器上的访问规范(私有)覆盖了属性的访问规范(公共)。正如 Aluan Haddad 在评论中指出的那样,编译器强制要求单个访问者的可访问性不能比属性本身的可访问性更少限制。