Вопросы с тегом «dispose»

Выполняет определяемые приложением задачи, связанные с освобождением, освобождением или сбросом неуправляемых ресурсов.

215
Завершить против утилизации

Почему некоторые люди используют Finalizeметод над Disposeметодом? В каких ситуациях вы будете использовать Finalizeметод поверх Disposeметода и

197
Должен ли я Dispose () DataSet и DataTable?

DataSet и DataTable оба реализуют IDisposable, поэтому, согласно общепринятым рекомендациям, я должен вызывать их методы Dispose (). Однако из того, что я прочитал, DataSet и DataTable на самом деле не имеют никаких неуправляемых ресурсов, поэтому Dispose () на самом деле ничего не делает. Кроме...

138
Как предотвратить распространение IDisposable на все ваши классы?

Начните с этих простых занятий ... Скажем, у меня есть простой набор таких классов: class Bus { Driver busDriver = new Driver(); } class Driver { Shoe[] shoes = { new Shoe(), new Shoe() }; } class Shoe { Shoelace lace = new Shoelace(); } class Shoelace { bool tied = false; } A Busимеет a Driver,...

134
Будет ли сборщик мусора вызывать IDisposable. Утилизировать для меня?

.NET IDisposable Pattern подразумевает, что если вы пишете финализатор и внедряете IDisposable, ваш финализатор должен явно вызывать Dispose. Это логично, и это то, что я всегда делал в тех редких ситуациях, когда требуется финализатор. Однако, что произойдет, если я просто сделаю это: class Foo :...

123
Считается ли приемлемым не вызывать Dispose () для объекта задачи TPL?

Я хочу запустить задачу в фоновом потоке. Не хочу ждать завершения задач. В .net 3.5 я бы сделал это: ThreadPool.QueueUserWorkItem(d => { DoSomething(); }); В .net 4 рекомендуется использовать TPL. Я видел рекомендуемый общий шаблон: Task.Factory.StartNew(() => { DoSomething(); }); Однако...

119
Удаление пользовательских элементов управления WPF

Я создал настраиваемый пользовательский элемент управления WPF, который предназначен для использования третьей стороной. У моего элемента управления есть закрытый член, который является одноразовым, и я хотел бы убедиться, что его метод удаления всегда будет вызываться после закрытия содержащего...

117
Есть ли способ закрыть StreamWriter, не закрывая его BaseStream?

Моя основная проблема в том, что при usingвызове Disposea StreamWriterон также устраняет BaseStream(ту же проблему с Close). У меня есть обходной путь, но, как видите, он включает в себя копирование потока. Есть ли способ сделать это без копирования потока? Цель этого - получить содержимое строки...

115
Что произойдет, если я вернусь до окончания использования оператора? Будет ли вызвана диспозиция?

У меня есть следующий код using(MemoryStream ms = new MemoryStream()) { //code return 0; } dispose()Метод вызывается в конце usingзаявления брекет }правильно? Так как I returnдо конца usingоператора, будет ли MemoryStreamобъект размещен должным образом? Что здесь...

101
В чем разница между использованием IDisposable и деструктора в C #?

Когда я могу реализовать IDispose в классе, а не деструктор? Я прочитал эту статью , но все еще не понимаю сути. Я предполагаю, что если я использую IDispose для объекта, я могу явно «разрушить» его, а не ждать, пока сборщик мусора сделает это. Это верно? Означает ли это, что я всегда должен явно...

86
Как узнать, удалена ли ссылка на объект IDisposable?

Есть ли метод или какой-то другой легкий способ проверить, есть ли ссылка на удаленный объект? PS - Это просто любопытство (спи спокойно, а не в продакшене). Да, я знаю, что могу поймать это ObjectDisposedExceptionпри попытке доступа к члену объекта....