Pular para o conteúdo principal

undefined_named_parameter

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

The named parameter '_{0}' should use the corresponding public name '{0}' at the callsite.

The named parameter '{0}' isn't defined.

Descrição

#

O analisador emite este diagnóstico quando uma invocação de método ou função tem um argumento nomeado, mas o método ou função invocado não define um parâmetro com o mesmo nome.

Exemplo

#

O código a seguir produz este diagnóstico porque m não declara um parâmetro nomeado chamado a:

dart
class C {
  void m({int? b}) {}
}
​
void f(C c) {
  c.m(a: 1);
}

Correções comuns

#

Se o nome do argumento foi digitado errado, substitua-o pelo nome correto. O exemplo acima pode ser corrigido trocando a por b:

dart
class C {
  void m({int? b}) {}
}
​
void f(C c) {
  c.m(b: 1);
}

Se uma subclasse adicionar um parâmetro com o nome em questão, faça cast do receptor para a subclasse:

dart
class C {
  void m({int? b}) {}
}
​
class D extends C {
  @override
  void m({int? a, int? b}) {}
}
​
void f(C c) {
  (c as D).m(a: 1);
}

Se o parâmetro deveria ser adicionado à função, adicione-o:

dart
class C {
  void m({int? a, int? b}) {}
}
​
void f(C c) {
  c.m(a: 1);
}

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