avoid_as
避免使用 as。
詳情
#注意:此規則已在 Dart 3 中從 SDK 移除;它不再起作用。其建議是編譯器特定的,並且在引入空安全後大部分已過時。
避免使用 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