2014-02-06 75 views
-1

我只是用於win 8應用程序的c#編程。我遇到了下面的類定義,我不明白那裏的get和set行。這是創建標準獲取者和設置者的捷徑嗎?我很困惑 ?謝謝C#語法解釋

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

是的,它只是一個使用Getters&Setters的簡介。在c#中,你不用像你這樣做的方法寫getters和setter。我建議你閱讀下面的文章:http://msdn.microsoft.com/en-us/library/w86s7x04.aspx – Svexo

回答

8

它們是用C#3.0引入的Auto Implemented properties

在C#3.0和更高,自動實現的屬性使 屬性聲明更簡潔當不需要附加的邏輯在屬性訪問 。

爲了您的財產:

public string Title { get; set; } 

是一樣的:

private string _Title; 

public string Title 
{ 
    get { return _Title; } 
    set { _Title = value; } 
} 

編譯器將添加支持私有字段。它們適用於在屬性的get/set中不需要邏輯的場景。如果要使用setget實施自定義規則,則不能使用自動實施的屬性。

1

在C#3.0中添加了「自動實施的屬性」。你可以閱讀關於他們on MSDN here。實際上,編譯器將創建一個專用的後臺字段。