我刚刚开始为win 8应用程序编程。我遇到了以下类定义,我不理解那里的get和set行。这是创建标准getter和setter的捷径吗?我糊涂了 ?感谢
class MenuItem
{
public string Title { get; set; }
public string Subtitle { get; set; }
public ImageSource Image { get; set; }
}
答案 0 :(得分:8)
它们是Auto Implemented properties,随C#3.0引入。
在C#3.0及更高版本中,自动实现的属性生成 当不需要额外的逻辑时,属性声明更简洁 在物业访问者。
对于您的财产:
public string Title { get; set; }
与:
相同private string _Title;
public string Title
{
get { return _Title; }
set { _Title = value; }
}
编译器将添加支持私有字段。它们在属性的get / set中不需要逻辑的情况下很有用。如果您希望使用set
或get
实施自定义规则,则无法使用自动实施的属性。
答案 1 :(得分:1)
在C#3.0中添加了“自动实现的属性”。你可以阅读它们on MSDN here。实际上,编译器将创建一个私有支持字段。