2014-11-23 36 views
1

爲什麼我不能使用AutoProperty作爲out參數?AutoProperty as out value

例如(這給了我一個錯誤):

public int HeightValue { get; set; } 

//... 

private void Parse() 
{ 
    int.TryParse(WidthText.Text, out HeightValue); 
    //Intellisense Error: out argument is not classified as a variable 
} 

回答

1

可能是因爲特性在本質上的方法和你需要給一個字段的值設置爲OUT參數。您可以爲您的屬性定義一個後臺字段,並將其值作爲out參數。

見喬恩斯基特的答案在這裏:

Passing a property as an 'out' parameter in C#

0

的方法本身需要一個變量作爲輸出參數。它必須有一個存儲位置,它可以將值寫入。不是一個屬性,也不是它需要調用的任何東西:只是一個存儲位置。物業不符合該要求。所以編譯器在這個方法中沒有什麼可以做到這一點。