Pular para o conteúdo principal

undefined_extension_member_read

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

The extension '{0}' doesn't have an instance member named '{1}'.

The member '{0}' is declared in '{1}', but private names are visible only in their own library.

There's a setter '{0}' in the extension '{1}', but no getter.

Descrição

#

O analisador produz este diagnóstico quando um override de extensão é usado para ler, invocar ou fazer tear-off de um membro, mas a extensão não declara um método de instância ou getter com esse nome.

Exemplos

#

O código a seguir produz este diagnóstico porque a extensão E não declara um membro chamado b:

dart
extension E on String {
  String get a => 'a';
}
​
void f() {
  E('c').b();
}

O código a seguir produz este diagnóstico porque a extensão E declara apenas um setter chamado b, que não pode ser lido:

dart
extension E on String {
  set b(String _) {}
}
​
void f() {
  E('c').b;
}

Correções comuns

#

Se você pretendia usar outro membro da extensão, então use o nome dele:

dart
extension E on String {
  String get a => 'a';
}
​
void f() {
  E('c').a;
}

Se o membro não está declarado, então declare-o na extensão ou remova a referência.

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