avoid_as
避免使用 as
。
詳細資訊
#注意:此規則已在 Dart 3 中從 SDK 移除;目前已不再運作。其建議是編譯器特定的,且在 Null 安全性推出後大多已過時。
請避免使用 as
。
如果您確定類型正確,請使用斷言或指派給更窄類型的變數 (這樣可以避免在發布模式中進行類型檢查;as
在發布模式中不會被編譯移除)。如果您不確定類型是否正確,請使用 is
檢查 (這樣可以避免 as
引發的例外狀況)。
不良範例
dart
(pm as Person).firstName = 'Seth';
良好範例
dart
if (pm is Person)
pm.firstName = 'Seth';
但絕非
不良範例
dart
try {
(pm as Person).firstName = 'Seth';
} on CastError { }
請注意,dynamic
的情況是例外,因為轉型不會對效能造成影響。
可以
dart
HasScrollDirection scrollable = renderObject as dynamic;
啟用
#若要啟用 avoid_as
規則,請在您的 analysis_options.yaml
檔案中,於 linter > rules 下新增 avoid_as
analysis_options.yaml
yaml
linter:
rules:
- avoid_as
如果您改用 YAML map 語法來設定 linter 規則,請在 linter > rules 下新增 avoid_as: true
analysis_options.yaml
yaml
linter:
rules:
avoid_as: true
除非另有說明,否則本網站上的文件內容反映的是 Dart 3.7.1 版本。頁面最後更新於 2025-03-07。檢視原始碼 或 回報問題。