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(). в разделе "Очистка неуправляемых ресурсов".