MSDN рекомендует помещать любые экземпляры классов, которые реализуют IDisposable в блок using. Или, альтернативно, если он создается в блоке try-catch, тогда Dispose в Finally.
Существуют ли какие-либо проблемы с использованием блока using в блоке try-catch, например, так?
try
{
using (Foo bar = new Foo())
{
bar.doStuff();
}
}
catch (Exception e)
{
//vomit e
}
Конечно, я могу просто вызвать Dispose в блоке Finally, но я новичок в программировании, и мне просто интересно узнать, подходит ли что-то подобное, или если кто-то ударит меня затылок и кричать на меня, что я Doing-It-Wrong™.
Или, скорее, меня больше интересует, почему это было бы неправильно, если бы это было.