Когда и как освободить ресурсы в Dart? - PullRequest
0 голосов
/ 18 июня 2020

Каков хороший способ закрыть / освободить ресурсы, когда у нас нет деструкторов в Dart?

Например, возьмите класс базы данных:

class Database {

  final String filename;

  RandomAccessFile _file;  

  Database(this.filename) {
    _file = File(filename).openSync();
  }

  // more reading, writing methods...
}

Мы обязательно должны позвонить _file.close() где-нибудь, и для этого мы можем добавить метод в класс Database. Кажется, это просто переключает проблему на другой класс, а не решает ее.

Думаю, я ищу здесь какую-то штуку c ++ RAII -i sh, но без каких-либо методов очистки я может думать только о тривиальных короткоживущих объектах для поддержки чего-то подобного.

...