Работа с .NET IDisposable объектами

Я работаю в C #, и я был довольно слаб в использованииusing блоки для объявления объектов, которые реализуютIDisposableчто вы, видимо, всегда должны делать. Тем не менее, я не вижу простой способ узнать, когда я ускользнул. Visual Studio, кажется, не указывает на это каким-либо образом (я просто что-то упустил?). Должен ли я просто проверять помощь каждый раз, когда я что-либо заявляю, и постепенно создавать энциклопедическую память, для которой существуют предметы, а какие нет? Кажется ненужным, болезненным и подверженным ошибкам.

Каквы справиться с этим?

РЕДАКТИРОВАТЬ:

Глядя на связанные вопросы боковой панели, я нашелДругой вопрос который дал понять, чтоDispose() в любом случае должен вызываться финализатором объекта. Так что даже если вы никогда не называете это сами, это должно произойти, то есть у вас не будет утечки памяти, если вы не используетеusing (это то, что я действительно волновался все время). Единственное предостережение в том, что сборщик мусора не знает, сколько дополнительной памяти удерживает объект как неуправляемый материал, поэтому он не будет точно представлять, сколько памяти будет освобождено при сборе объекта. Это приведет к снижению производительности сборщика мусора.

Короче говоря, это не конец света, если я скучаю поusing, Я просто хотел бы, чтобы что-то сгенерировало хотя бы предупреждение за это.

(Не по теме: почему нет специальной уценки для ссылки на другой вопрос?)

РЕДАКТИРОВАТЬ:

Хорошо, хорошо, прекрати требовать. Это супер пупердраматический-бурундук-уровеньважный звонитьDispose() или мы всеумереть.

Сейчас. Учитывая это, почему это так легко - черт, почему это дажепозволил - сделать это неправильно? Вы должны изо всех сил, чтобы сделать это правильно. Выполнение этого как все остальное приводит к Армагеддону (очевидно). Так много для инкапсуляции, а?

[Уходит, с отвращением]

Ответы на вопрос(12)

Ваш ответ на вопрос