可能的重复:
将私人成员封装为财产与无私人成员定义财产有什么区别?
在C#中,通常在定义属性时,我会声明并实现一行或更多行以进行get和设置。例如
public bool IsThere
{
get { return _isThere; }
set { _isThere = value;}
}
现在这是什么意思?
public bool IsThere
{
get;
set;
}
这些是自动培训。它们的工作方式与您的第一个示例相同,但允许您省略不必要的源代码。
当您不再使用Getter/Setter方法时,最好使用它们。
他们还允许您稍后添加逻辑,而无需打破任何调用代码(即使您还必须自己实现私人备份属性)。
它是自动实施属性(自动属性)。
C#编译器将自动为GET/SET方法创建一个私有字段成员。
。请注意,自动属性存在局限性(目前)。例如,您不能使用诸如readonly
之类的修饰符,尽管您仍然可以将其标记为private set
它并不完全相同。