Ответ 1
IronPython поддерживает использование IDisposable
с помощью оператора with
, поэтому вы можете написать что-то вроде этого:
with ClassThatImplementsIDisposable() as something:
pass
Что эквивалентно этому в IronPython? Это просто блок try-finally?
using (var something = new ClassThatImplementsIDisposable())
{
// stuff happens here
}
IronPython поддерживает использование IDisposable
с помощью оператора with
, поэтому вы можете написать что-то вроде этого:
with ClassThatImplementsIDisposable() as something:
pass
IronPython (как и у кандидатов версии 2.6) поддерживает оператор with
, который обертывает объект IDisposable способом, похожим на использование.
С выражением. Например:
with open("/temp/abc") as f:
lines = f.readlines()
Существует инструкция with
: http://www.ironpythoninaction.com/magic-methods.html#context-managers-and-the-with-statement
with open(filename) as handle:
data = handle.read()
...
используемый блок в действительности находится под капотом:
try {
(do something unmanaged here)
}
finally {
unmanagedObject.Dispose();
}
Надеюсь, это поможет вам понять логику использования оператора using.