Из соображений практичности оба урока одноразовые.
Я понимаю, что делает блок 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
. - person Hans Kesting   schedule 12.06.2013MyClass
иSecondClass
, а также от того, когда вам нужно, чтобы эти объекты былиDispos()
ed. - person Richard JP Le Guen   schedule 12.06.2013using
не будет волшебным образом избавиться от объектаmyClassSecond
только потому, что он выходит за пределы области видимости. Удаляется только объект, указанный в скобкахusing
. Так что это неправильно. Вы должны вложить операторыusing
, как в последнем примере. - person Jeppe Stig Nielsen   schedule 12.06.2013