2013-07-30 130 views

回答

1

簡答:你不行。

如果您實現某種自定義事務性系統,則可能會發生這種情況。開箱即用:沒有運氣。

是的,自定義事務處理系統可以非常簡單:添加另一個字段或屬性,用於「記住」初始值。

+1

第二個簡短答案:爲您的課程添加一個新的(只讀)屬性,使用它而不是文字值,並且您可以在任何需要的地方訪問該屬性。 – nabuchodonossor

+0

很抱歉將其添加到評論中......它應該是對問題的評論! – nabuchodonossor

0

如果我正確地理解了你,你想要的初始值爲x。 因爲您需要其他成員或參數來保持第一次初始化x。例如,在你的類:

int FirstX = -1;// or any other value you know ain't gonna come 
bool firstInitial = true; 

public int X 
{ 
    set 
    { 
     if(firstInitial) 
     { 
     FirstX = value; 
     firstInitial = false; 
     } 

     x = value 
    } 
} 
+1

如果認爲你的意思是你需要**另一個成員或參數,而不是**不需要**。 – Maarten

+0

@Maarten我是怎麼犯這個錯誤的? –

+0

你告訴我:-) – Maarten

0

現在,如果你的意思是設定在一流水平的默認值,你已經知道,因爲它是恆定的其他方式將創建您需要默認值類的一個實例。

ClassName className= new ClassName(); 
className.MyProp//This will always give default value. 

new ClassName().MyProp //would also do. 

如果您想要實現它的事務性值列表,反射並不意味着這一點。