有这样的代码:
using(var disposableObject = new MyClass())
{
var something = disposableObject.GetSomething();
return something;
}
所以,我返回的不是disposableObject,而是由disposableObject生成的对象。是不是?
答案 0 :(得分:6)
是的,你这样做。但是,根据GetSomething()
的作用,您的something
对象可能无法使用。例如,如果something
引用disposableObject
并且需要它来执行某些操作。
例如,此代码
using(var stream = new MemoryStream())
{
var streamReader = new StreamReader(stream);
return streamReader;
}
会产生无法使用的streamReader
。