Как я могу узнать, какие классы IDisposable мне нужно удалить? [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Как я могу узнать, какие классы IDisposable мне нужно удалить? [закрыто]

Сообщение Anonymous »

Звучит как странный вопрос: я пришел к выводу, что если что-то реализует IDisposable, то его всегда нужно удалить. Поэтому я искал какое-то предупреждение анализатора, которое сообщало бы мне каждый раз, когда я забыл это сделать. Но затем я наткнулся на этот ответ, в котором говорится, что «вы не всегда хотите удалять объекты [которые реализуют IDisposable]», и видя, как Task реализует IDisposable, и все же я не Не думаю, что я когда-либо видел пример удаления Task, это действительно похоже на правду. Существует также IHost, который обычно не удаляется явно, а также ScrollableControl в формах Windows.
Похоже, это противоречит предыдущему совету об IDisposable. воды: теперь вы не знаете, нужно ли вам удалять экземпляр класса, даже если он реализует IDisposable. Откуда вы можете знать? Это просто случай, когда нужно прочитать всю документацию и надеяться, что автор не забыл упомянуть, нужно ли вам избавляться от этой вещи? Второстепенный вопрос: почему Task реализует этот интерфейс, если обычно он не требует удаления. Почему бы не создать новый интерфейс IOptionalDisposable или что-то еще, чтобы избежать этой путаницы?
Примечание. Я знаю, что есть некоторые другие вопросы, которые, похоже, делают этот вопрос обманным, но Я думаю, что они действительно устарели. Задача стала широко использоваться с тех пор, как ее задали и на нее ответили.

Подробнее здесь: https://stackoverflow.com/questions/792 ... to-dispose
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»