Правильное использование использования для одноразовых типов

У меня есть этот код

using(MyStopWatch st= new MyStopWatch())
{
St.start();
St.stop();
}

Что дает мне ошибку CA1001 при запуске fxcop и

MyStopWatch st= null;
using( st= new MyStopWatch())
{
St.start();
St.stop();
}

Что не дает никакой ошибки правила fxcop при анализе, в чем разница между этими двумя случаями, создает ли второе использование утечку памяти? Использование блока не ведет себя так, как я ожидаю?

1 ответ

Решение

Выглядит как ложный позитив для меня. Что касается утилизации, не должно быть никакой разницы между вашими двумя примерами кода.

Первый пример рекомендуется, так как вы, вероятно, не хотите использовать удаленный объект за пределами области применения.

Другие вопросы по тегам