在(或我们可以)访问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 :(得分:0)
是的,您可以从终结器访问它们(我认为这是析构函数的意思)。但是,您需要确保之前没有清除任何引用类型,否则最终会出现一些令人讨厌的异常。
除了实际执行清理之外,我认为终结器通常不需要访问成员变量。