【发布时间】:2013-06-08 18:34:51
【问题描述】:
为了实用起见,这两个类都是一次性的。
我了解 using 块的作用。但我不确定它可以或需要使用的所有方式。
例如这是正确的吗?
using (MyClass myClass = new MyClass(params))
{
myClass.name = "Steve";
SecondClass myClassSecond = new SecondClass(params);
myClassSecond.name = "George";
myClassSecond.msg = "Hello Man in the Yellow Hat";
}
上面的两个类都被处理掉了吗?
或者我需要在 using 语句中同时使用两者?
using (MyClass myClass = new MyClass(params))
{
myClass.name = "Steve";
using (SecondClass myClassSecond = new SecondClass(params))
{
myClassSecond.name = "George";
myClassSecond.msg = "Hello Man in the Yellow Hat";
}
}
以上是否正确,或者有没有更好的方法来使用多个 using 语句?
【问题讨论】:
-
这些类是否实现了
IDisposable?using需要(以及原因)。 -
这取决于您对
MyClass和SecondClass的实现,以及您何时需要将这些对象设为Dispos()ed。 -
在您的第一个示例中,
using块的末尾不会仅仅因为它超出范围而神奇地处置myClassSecond对象。只有using括号内提到的对象被释放。所以这是不正确的。您必须像上一个示例一样“嵌套”using语句。
标签: c# asp.net using-statement