自动实现的属性可以有私有集吗?

时间:2011-01-15 22:33:05

标签: c#

我试着这样做:

public int Property {get; private set;}

它强调了“集合”,并说:

  

自动实施的访问者永远不会设置

它让我编译,但我想知道这是否影响了什么或者它的处理是什么?

3 个答案:

答案 0 :(得分:11)

你拥有的是有效的语法。您收到警告,因为没有任何东西为属性设置值(即,没有在任何地方使用setter)。

如果没有使用setter,那么该属性将始终具有其默认值,在这种情况下,您应该首先询问具有该属性的值。

答案 1 :(得分:4)

这只是编译器警告而不是错误。它只是告诉你,你从不在课堂上使用setter。

答案 2 :(得分:1)

setter是私有的,编译器可以检查当前类中它的用法。 生成警告是因为您从未在该属性中设置值。