假设我在一个方法中创建一个一次性对象,但我将调用该方法中的一个使用。那么一切都按照这种方法处理了吗?
using(DbConnection connection = new DbConnection("myConnection"){
SomeMethod();
}
public void SomeMethod(){
var stream = new MemoryStream()
// ... Do something with the stream ...
}
是否在' SomeMethod'中创建了流。处置?
答案 0 :(得分:2)
不,它不会。只会处理using
语句中明确指定的引用。
在这种情况下,在代码执行离开using块之后,只有connection
将被处理。您还需要将var stream = ..
包装在使用块中,或手动处理它。
答案 1 :(得分:0)
当我们使用Using关键字时,它将调用在其中创建的对象的dispose方法
using(Form m =new Form())
括号。所以请记住,如果要在{}
示例:
using(Form test =new Form())//test object will disposed by using at end of scope
{//Scope start
//code written here or created new object are not disposed by using
//Scope End
}