Pular para o conteúdo principal

avoid_as

Saiba mais sobre a regra de lint avoid_as.

Removido

Evite usar as.

Detalhes

#

NOTA: Esta regra foi removida do SDK no Dart 3; ela não funciona mais. Seu conselho é específico do compilador e, com null safety, está em grande parte obsoleto.

EVITE usar as.

Se você sabe que o tipo está correto, use uma asserção ou atribua a uma variável com tipo mais restrito (isso evita a verificação de tipo no modo release; as não é removido no modo release). Se você não sabe se o tipo está correto, verifique com is (isso evita a exceção que as lança).

RUIM:

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

BOM:

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

mas certamente não

RUIM:

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

Observe que existe uma exceção no caso de dynamic, já que o cast não tem impacto no desempenho.

OK:

dart
HasScrollDirection scrollable = renderObject as dynamic;

Ativar

#

Para ativar a regra avoid_as, adicione avoid_as em linter > rules no seu arquivo analysis_options.yaml:

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_as

Se você usa a sintaxe de mapa YAML para configurar as regras de lint, adicione avoid_as: true em linter > rules:

analysis_options.yaml
yaml
linter:
  rules:
    avoid_as: true

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.