为什么在将实例设置为null之前复制了一次性对象?

时间:2016-09-13 09:17:53

标签: c#

protected virtual void Dispose(bool disposing) 
{
    if (disposing) 
    {
        Stream copyOfStream = this._stream;
        this._stream = null;
        if (copyOfStream != null && !this._leaveOpen)
        {
            copyOfStream.Close();
        }
    }
    this._stream = null;
}

在将Stream设置为this._stream之前,为什么在上面的代码中创建了null个实例的副本?

例如为什么不这样:

protected virtual void Dispose(bool disposing) 
{
    if (disposing) 
    {
        if (this._stream != null && !this._leaveOpen)
        {
            this._stream.Close();
        }
    }
    this._stream = null;
}

0 个答案:

没有答案