2016-08-04 64 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