在C#中,通常在我定义属性时,我为get和set声明并实现一行或多行。 e.g。
public bool IsThere
{
get { return _isThere; }
set { _isThere = value;}
}
现在这是什么意思?
public bool IsThere
{
get;
set;
}
答案 0 :(得分:5)
这些是自动属性。它们的工作方式与第一个示例相同,但允许您省略不必要的源代码。
当你的getter / setter方法不再适用时,最好使用它们。
它们还允许您稍后在getter / setter方法中添加逻辑,而不会破坏任何调用代码(即使您还必须自己实现私有支持属性)。
答案 1 :(得分:2)
这是Auto-Implemented Property(自动属性)。
C#编译器将自动为get / set方法创建一个私有字段成员来读/写。
请注意,自动属性存在限制(暂时)。例如,您不能使用readonly
等修饰符,但仍然可以将其标记为private set
它不完全相同。