我试着这样做:
public int Property {get; private set;}
它强调了“集合”,并说:
自动实施的访问者永远不会设置
它让我编译,但我想知道这是否影响了什么或者它的处理是什么?
答案 0 :(得分:11)
你拥有的是有效的语法。您收到警告,因为没有任何东西为属性设置值(即,没有在任何地方使用setter)。
如果没有使用setter,那么该属性将始终具有其默认值,在这种情况下,您应该首先询问具有该属性的值。
答案 1 :(得分:4)
这只是编译器警告而不是错误。它只是告诉你,你从不在课堂上使用setter。
答案 2 :(得分:1)
setter是私有的,编译器可以检查当前类中它的用法。 生成警告是因为您从未在该属性中设置值。