2014-04-29 86 views
-4

我有一個關於關鍵字「值」問題在屬性中使用時是這樣的:什麼是價值(財產設置)?

public string Name 
{ 
    get 
    { 
     return myName; 
    } 
    set 
    { 
     myName = value; 
    } 
} 

什麼是價值?編譯器如何知道什麼價值持有?

+4

[value(C#Reference)](http://msdn.microsoft.com/en-us/library/a1khb4f8.aspx) – Habib

+1

屬性是方法MyType.GetName()和MyType.SetName(string值)。 – Marcus

回答

1

他們被稱爲Contextual Keywords,你可以從檢查here

3

value處於屬性設定器(未吸氣劑),指示正被設置的值的上下文關鍵字。因此,當您撥打Name = "Test"時,value將在set方法中爲​​。

+1

@FrédéricHamidi你完全正確。更新。 – Haney

+0

屬性getter/setter實際上是方法。 'Name =「Test」'將被轉換爲一個方法調用:'Name_set(「Test」)',在這裏你可以把'value'看作是這個方法的參數。 – Sinatr

+0

@Sinatr - 我意識到這一點,然而,房產的目的是爲了正面/遠離你。不需要知道/實現以使用屬性。 :) – Haney