目录

avoid_as

Avoid using as.

此规则已从最新的 Dart 版本中移除。

详情

#

NOTE: This rule was removed from the SDK in Dart 3; it is no longer functional. Its advice is compiler-specific and mostly obsolete with null safety.

AVOID using as.

If you know the type is correct, use an assertion or assign to a more narrowly-typed variable (this avoids the type check in release mode; as is not compiled out in release mode). If you don't know whether the type is correct, check using is (this avoids the exception that as raises).

BAD:

dart
(pm as Person).firstName = 'Seth';

GOOD:

dart
if (pm is Person)
  pm.firstName = 'Seth';

but certainly not

BAD:

dart
try {
   (pm as Person).firstName = 'Seth';
} on CastError { }

Note that an exception is made in the case of dynamic since the cast has no performance impact.

OK:

dart
HasScrollDirection scrollable = renderObject as dynamic;

使用方法

#

要启用 avoid_as 规则,请在你的 analysis_options.yaml 文件中,在 linter > rules 下添加 avoid_as

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_as