Pular para o conteúdo principal

avoid_type_to_string

Detalhes sobre o diagnóstico 'avoid_type_to_string' produzido pelo analisador do Dart.

Using 'toString' on a 'Type' is not safe in production code.

Descrição

#

O analisador emite este diagnóstico quando o método toString é invocado em um valor cujo tipo estático é Type.

Exemplo

#

O código a seguir produz este diagnóstico porque o método toString é invocado no Type retornado por runtimeType:

dart
bool isC(Object o) => o.runtimeType.toString() == 'C';
​
class C {}

Correções comuns

#

Se for essencial que o tipo seja exatamente o mesmo, use uma comparação explícita:

dart
bool isC(Object o) => o.runtimeType == C;
​
class C {}

Se for aceitável que instâncias de subtipos do tipo retornem true, use uma verificação de tipo:

dart
bool isC(Object o) => o is C;
​
class C {}

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ê.