2016-08-04 28 views
4

回国后通过一次性对象的方法有这样的代码:使用对象,处置

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

所以,我回来不是disposableObject,但对象由disposableObject产生。这样对吗?

回答

6

是的,你这样做。但是,根据GetSomething()的作用,您的something对象可能无法使用。例如,如果something引用disposableObject并需要它执行某些操作。

例如,该代码

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

会产生不可用的streamReader