C#语法解释

时间:2014-02-06 19:41:16

标签: c#

我刚刚开始为win 8应用程序编程。我遇到了以下类定义,我不理解那里的get和set行。这是创建标准getter和setter的捷径吗?我糊涂了 ?感谢

 class MenuItem
{
    public string Title { get; set; }
    public string Subtitle { get; set; }
    public ImageSource Image { get; set; } 
}

2 个答案:

答案 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中不需要逻辑的情况下很有用。如果您希望使用setget实施自定义规则,则无法使用自动实施的属性。

答案 1 :(得分:1)

在C#3.0中添加了“自动实现的属性”。你可以阅读它们on MSDN here。实际上,编译器将创建一个私有支持字段。