Pular para o conteúdo principal

type_parameter_referenced_by_static

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

Static members can't reference type parameters of the class.

Descrição

#

O analisador produz este diagnóstico quando um membro estático referencia um parâmetro de tipo declarado para a classe. Parâmetros de tipo só têm significado para instâncias da classe.

Exemplo

#

O código a seguir produz este diagnóstico porque o método estático hasType referencia o parâmetro de tipo T:

dart
class C<T> {
  static bool hasType(Object o) => o is T;
}

Correções comuns

#

Se o membro pode ser um membro de instância, então remova a palavra-chave static:

dart
class C<T> {
  bool hasType(Object o) => o is T;
}

Se o membro precisa ser um membro estático, então torne o membro genérico:

dart
class C<T> {
  static bool hasType<S>(Object o) => o is S;
}

Observe, porém, que não há relação entre T e S, então essa segunda opção muda a semântica em relação ao que provavelmente se pretendia.

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