跳到主要內容

close_sinks

穩定

關閉 dart:core Sink 的例項。

詳細資訊

#

務必dart:core Sink 的例項呼叫 close

關閉 Sink 例項可防止記憶體洩漏和意外行為。

錯誤示例

dart
class A {
  IOSink _sinkA;
  void init(filename) {
    _sinkA = File(filename).openWrite(); // LINT
  }
}

錯誤示例

dart
void someFunction() {
  IOSink _sinkF; // LINT
}

正確示例

dart
class B {
  IOSink _sinkB;
  void init(filename) {
    _sinkB = File(filename).openWrite(); // OK
  }

  void dispose(filename) {
    _sinkB.close();
  }
}

正確示例

dart
void someFunctionOK() {
  IOSink _sinkFOK; // OK
  _sinkFOK.close();
}

已知限制

此規則不會跟蹤所有 Sink 例項化和關閉模式。有關詳細資訊,請參閱 sdk#57882

啟用

#

要啟用 close_sinks 規則,請在您的 analysis_options.yaml 檔案中的 linter > rules 下新增 close_sinks

analysis_options.yaml
yaml
linter:
  rules:
    - close_sinks

如果您改用 YAML 對映語法配置 Linter 規則,請在 linter > rules 下新增 close_sinks: true

analysis_options.yaml
yaml
linter:
  rules:
    close_sinks: true