2014-01-29 10 views
-2

在C#類的析構函數中訪問任何全局聲明的值類型變量是否安全(或可以)?從C中的析構函數訪問值類型全局變量#

謝謝

public class User 
{ 


    int _internalUserAccountNumber; 

    public User() 
    { 
     _internalUserAccountNumber = InternalUtil.GenerateNewId(); 
    } 

    /* 
    * some methods... 
    * 
    */ 

    ~User() 
    { 
     //For some reason I want to make use of the _internalUserAccountNumber variable; 
     //say print out the value before the destruction of the object for example (or could be in a logging issue) 
     Debug.WriteLine("Internal Id : {0}.", _internalUserAccountNumber); 
    } 

} 

裏面的destructor這就是我要做的。它安全嗎?

+0

請向我們展示您要完成的任務。 – dcastro

+0

與靜態一樣嗎? – Styxxy

+1

在C#中全局聲明的值類型? C#中的析構函數?也許你應該發表一個例子,因爲你的術語不太清楚。 – Gigi

回答

0

是的,你可以從終結者(我認爲這是你的意思是析構函數)訪問它們。但是,您需要確保任何引用類型都沒有被提前清理,否則最終會出現一些令人討厭的異常。

除了實際執行清理之外,我不認爲終結器通常需要訪問成員變量。