Pular para o conteúdo principal

wrong_number_of_type_arguments_extension

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

The extension '{0}' is declared with {1} type parameters, but {2} type arguments were given.

Descrição

#

O analisador gera este diagnóstico quando uma extensão que tem parâmetros de tipo é usada e recebe argumentos de tipo, mas o número de argumentos de tipo não é igual ao número de parâmetros de tipo.

Exemplo

#

O código a seguir gera este diagnóstico porque a extensão E é declarada com um único parâmetro de tipo (T), mas o override de extensão recebe dois argumentos de tipo:

dart
extension E<T> on List<T> {
  int get len => length;
}
​
void f(List<int> p) {
  E<int, String>(p).len;
}

Correções comuns

#

Altere os argumentos de tipo para que haja o mesmo número de argumentos de tipo e de parâmetros de tipo:

dart
extension E<T> on List<T> {
  int get len => length;
}
​
void f(List<int> p) {
  E<int>(p).len;
}

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