从C#中的析构函数访问值类型全局变量

时间:2014-01-29 12:08:31

标签: 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内,这就是我想要做的。这样安全吗?

1 个答案:

答案 0 :(得分:0)

是的,您可以从终结器访问它们(我认为这是析构函数的意思)。但是,您需要确保之前没有清除任何引用类型,否则最终会出现一些令人讨厌的异常。

除了实际执行清理之外,我认为终结器通常不需要访问成员变量。