Термин «Dispose» является немного неправильным, так как метод Dispose не удаляет целевой объект, а выполняет запрос к целевому объекту сделать что-либо, что необходимо сделать, прежде чем его можно будет безопасно покинуть.,По сути, это запрос к объекту навести порядок в своих делах.
Наиболее распространенная ситуация, когда конкретному объекту нужно будет навести порядок в своих делах, - это когда некоторые объекты вне него могут что-то делать, сохраняячто-то, воздерживаясь от каких-либо действий или иным образом временно изменяя свое поведение от его имени.Обратите внимание, что объектами могут быть объекты .net, другие типы объектов, распознаваемых ОС (дескрипторы GDI и т. Д.) И т. Д., Но нет особого требования, чтобы объект был каким-то конкретным видом вещей или находился на том же компьютере.или даже любой компьютер.Для того, чтобы объект привел свои дела в порядок, внешние лица, занимающиеся делом, владение и т. Д., Все, что от его имени, нужно было сказать, что им больше не нужно это делать.Если рассматриваемые сущности являются объектами .net, которые реализуют IDisposable, уведомление обычно выполняется путем вызова их метода Dispose.
Обратите внимание, что .net предоставляет средство, с помощью которого объекты могут запрашивать уведомление, если система замечаетчто они были брошены, и используют это как сигнал, чтобы навести порядок в своих делах.Такие уведомления могут поступать не своевременно, и из-за различных факторов они могут быть отложены практически на неопределенный срок, но механизм (называемый «финализация») иногда лучше, чем ничего.