0
從外部方法更改類屬性已經發生了錯誤,同時嘗試改變分配(「f.StartTime」內線等級, 但如果字符串的屬性設置爲一個字符串變量它的工作,但不改變「開始時間'屬性)使用REF
喜歡:
string x = f.StartTime;
ChangeText(ref x); // There's no error, but f.StartTime didn't change.
//Unless:
f.StartTime = x;
當然
這是假的方法......
,所以我想執行以下代碼。
public class MainClass
{
public class Foo
{
public string StartTime { get; set; }
public string ToTime { get; set; }
}
private void ChangeText(ref string Time)
{
Time = DateTime.Now.ToString();
}
public void SetClassObjects()
{
Foo f = new Foo()
{
StartTime = "Any Text",
ToTime = "Any Text"
};
ChangeText(ref f.StartTime);
// An error: A property, indexer or dynamic member access may not be passed as an out or ref parameter
}
謝謝主席先生,我知道這一點,但我想概括在一個大的類此方法來更改一個字符串值,而不是(僅Foo類)。 – 2012-07-11 10:57:25
@HadyShaltout我用一個更一般的版本使用接口更新了我的答案,但如果你想要我的意見,堅持解決方案,你返回一個字符串,而不是試圖改變一個。 – 2012-07-11 11:01:44