Stream.Dispose Метод

Определение

Освобождает все ресурсы, используемые Stream объектом.

Перегрузки

Имя Описание
Dispose()

Освобождает все ресурсы, используемые параметром Stream.

Dispose(Boolean)

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

Dispose()

Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs

Освобождает все ресурсы, используемые параметром Stream.

public:
 virtual void Dispose();
public void Dispose();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()

Реализации

Комментарии

Этот метод удаляет поток, записывая любые изменения в резервное хранилище и закрывая поток для освобождения ресурсов.

Вызов Dispose позволяет ресурсам, используемым Stream перераспределенными для других целей. Дополнительные сведения см. в Disposeразделе "Очистка неуправляемых ресурсов".

Примечания для тех, кто наследует этот метод

Поместите всю логику очистки для объекта Dispose(Boolean)потока. Не переопределять Close().

Обратите внимание, что из-за требований к обратной совместимости реализация этого метода отличается от рекомендуемого руководства по шаблону Dispose. Этот метод вызывает Close(), который затем вызывает Dispose(Boolean).

Применяется к

Dispose(Boolean)

Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs
Исходный код:
Stream.cs

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

protected:
 virtual void Dispose(bool disposing);
protected virtual void Dispose(bool disposing);
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)

Параметры

disposing
Boolean

true для выпуска управляемых и неуправляемых ресурсов; false для выпуска только неуправляемых ресурсов.

Комментарии

Для этого необходимо освободить все ресурсы.truedisposing В этом disposingtrueслучае поток также может обеспечить очистку данных в базовый буфер и доступ к другим завершаемым объектам. Это может быть невозможно при вызове из средства завершения из-за отсутствия упорядочения между средствами завершения.

Если поток использует дескриптор операционной системы для взаимодействия с источником, рассмотрите возможность использования подкласса SafeHandle для этой цели.

Этот метод вызывается общедоступным Dispose() методом и Finalize() методом, если он был переопределен. Dispose() вызывает защищенный Dispose метод с заданным параметром disposingtrue. Finalize вызывается Dispose с заданным disposing значением false.

Примечания для тех, кто наследует этот метод

В производных классах не переопределяете Close() метод, а не помещайте всю логику очистки Stream в Dispose(Boolean) метод.

Dispose() можно вызывать несколько раз другими объектами. При переопределении Dispose(Boolean)следует не ссылаться на объекты, которые ранее были удалены в предыдущем вызове Dispose(). Дополнительные сведения о реализации Dispose(Boolean)см. в разделе "Реализация метода Dispose".

Дополнительные сведения и сведения см Dispose()Finalize(). в разделе "Очистка неуправляемых ресурсов".

Применяется к