Проверка Объекты, которые реализуют IDisposable, но правильно не расположены

Существует ли способ автоматически проверить существующий исходный код C# на объекты-экземпляры, от которых правильно не избавляются т.е. использующий попытку / выгода / наконец или использующий операторы? Или я должен просто вручную посмотреть на код?

8
задан etoisarobot 8 April 2010 в 19:41
поделиться

3 ответа

Взгляните на FxCop для VS2010 - я считаю, что они восстановили правило DisposeObjectsBeforeLeavingScope , которое может делать именно то, что вы хотите.

3
ответ дан 6 December 2019 в 00:06
поделиться

CodeRush имеет некоторую поддержку для определения очевидных вариантов этого. Другой возможный вариант (возможно, с помощью необязательного символа компиляции) - добавить финализатор к вашим собственным объектам IDisposable и громко пожаловаться, если они будут завершены без удаления (установите флаг bool в Dispose ]). Но обратите внимание: наличие финализатора изменяет поведение объектов, поэтому не оставляйте его в производственном коде (или даже в ваших обычных модульных тестах).

0
ответ дан 6 December 2019 в 00:06
поделиться

HTH

1
ответ дан 6 December 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: