我刚刚开始为win 8应用程序编程.我遇到了以下类定义,我不理解那里的get和set行.这是创建标准getter和setter的捷径吗?我糊涂了 ?谢谢
class MenuItem
{
public string Title { get; set; }
public string Subtitle { get; set; }
public ImageSource Image { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
它们是自动实现的属性,随C#3.0引入.
在C#3.0及更高版本中,当属性访问器中不需要其他逻辑时,自动实现的属性使属性声明更简洁.
对于您的财产:
public string Title { get; set; }
Run Code Online (Sandbox Code Playgroud)
它与:
private string _Title;
public string Title
{
get { return _Title; }
set { _Title = value; }
}
Run Code Online (Sandbox Code Playgroud)
编译器将添加支持私有字段.它们在属性的get/set中不需要逻辑的情况下很有用.如果你想与实现自定义规则set
或get
则无法使用自动实现的属性.