Что эквивалентно блоку С# "using" в IronPython?

Что эквивалентно этому в IronPython? Это просто блок try-finally?

using (var something = new ClassThatImplementsIDisposable())
{
  // stuff happens here
}

Ответы

Ответ 1

IronPython поддерживает использование IDisposable с помощью оператора with, поэтому вы можете написать что-то вроде этого:

with ClassThatImplementsIDisposable() as something:
    pass

Ответ 2

IronPython (как и у кандидатов версии 2.6) поддерживает оператор with, который обертывает объект IDisposable способом, похожим на использование.

Ответ 5

используемый блок в действительности находится под капотом:

try {
  (do something unmanaged here)
}
finally {
  unmanagedObject.Dispose();
}

Надеюсь, это поможет вам понять логику использования оператора using.