使用处置后通过一次性对象方法返回的对象

本文关键字:对象 一次性 方法 返回 | 更新日期: 2023-09-27 18:01:00

有这样的代码:

using(var disposableObject = new MyClass()) 
{
    var something = disposableObject.GetSomething();
    return something; 
}

所以,我返回的不是disposableObject,而是由disposableObject生成的对象。对吗?

使用处置后通过一次性对象方法返回的对象

是的。但是,根据GetSomething()的作用,您的something对象可能不可用。例如,如果something引用了disposableObject并需要它来执行某些操作。

例如,这个代码

using(var stream = new MemoryStream())
{
    var streamReader = new StreamReader(stream);
    return streamReader;
}

将产生不可用的CCD_ 5。