implicit_reopen
不要隱式地重新開啟類別。
此規則目前為實驗性,並自 Dart 3.0 起提供。
此規則具有可用的快速修正。
詳細資訊
#透過在類別上使用 interface
、base
、final
或 sealed
修飾符,或在混入上使用 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
除非另有說明,否則本網站上的文件反映 Dart 3.6.0。頁面最後更新於 2024-07-03。 檢視來源或 回報問題。