Looking for c# Keywords? Try Ask4Keywords

C# Language IDisposable, Dispose


пример

.NET Framework определяет интерфейс для типов, требующих метода сбрасывания:

public interface IDisposable
{
  void Dispose();
}

Dispose() в основном используется для очистки ресурсов, например, неуправляемых ссылок. Однако также может быть полезно принудительно распоряжаться другими ресурсами, даже если они управляются. Вместо того, чтобы ждать, пока GC в конечном итоге также очистит ваше соединение с базой данных, вы можете убедиться, что это сделано в вашей собственной реализации Dispose() .

public void Dispose()
{
   if (null != this.CurrentDatabaseConnection)
   {
       this.CurrentDatabaseConnection.Dispose();
       this.CurrentDatabaseConnection = null;
   }
}

Когда вам нужно напрямую обращаться к неуправляемым ресурсам, таким как неуправляемые указатели или ресурсы win32, создайте класс, наследующий от SafeHandle и используйте соглашения / инструменты этого класса для этого.