目錄

implicit_reopen

不要隱式地重新開啟類別。

此規則目前為實驗性,並自 Dart 3.0 起提供。

此規則具有可用的快速修正

詳細資訊

#

透過在類別上使用 interfacebasefinalsealed 修飾符,或在混入上使用 base 修飾符,作者可以控制是否允許從定義它們的函式庫外部實作、擴展和/或混入類別和混入。在某些情況下,作者可能會無意中放寬這些控制,並隱式地「重新開啟」類別。(混入不會發生類似的重新開啟。)

此 lint 會防止無意中重新開啟類別,方法是要求使用 package:meta 中的 @reopen 註解來明確指定此類情況。

錯誤範例

dart
interface class I {}

class C extends I {} // LINT

正確範例

dart
interface class I {}

final class C extends I {}
dart
import 'package:meta/meta.dart';

interface class I {}

@reopen
class C extends I {}

用法

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - implicit_reopen