avoid_as
避免使用 as
。
此规则已在最新的 Dart 版本中删除。
详情
#注意:此规则已在 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
除非另有说明,否则本网站上的文档反映的是 Dart 3.6.0。页面最后更新于 2024-07-03。 查看源代码 或 报告问题。