没有body的特性



可能的重复:
将私人成员封装为财产与无私人成员定义财产有什么区别?

在C#中,通常在定义属性时,我会声明并实现一行或更多行以进行get和设置。例如

public bool IsThere
{
   get { return _isThere; }
   set { _isThere = value;}
}

现在这是什么意思?

public bool IsThere
{
   get;
   set;
}

这些是自动培训。它们的工作方式与您的第一个示例相同,但允许您省略不必要的源代码。

当您不再使用Getter/Setter方法时,最好使用它们。

他们还允许您稍后添加逻辑,而无需打破任何调用代码(即使您还必须自己实现私人备份属性)。

它是自动实施属性(自动属性)。

C#编译器将自动为GET/SET方法创建一个私有字段成员。


请注意,自动属性存在局限性(目前)。例如,您不能使用诸如readonly之类的修饰符,尽管您仍然可以将其标记为private set它并不完全相同。

最新更新