undefined_ instance_ member_ read
Detalhes sobre o diagnóstico 'undefined_instance_member_read' produzido pelo analisador do Dart.
The member '{0}' is declared in '{1}', but private names are visible only in their own library.
The member '{0}' isn't defined for the type '{1}'.
There's a setter '{0}' for the type '{1}', but no getter.
Descrição
#O analisador emite este diagnóstico quando um membro de instância é lido, invocado ou extraído (tear-off), mas nem o tipo estático do receptor nem nenhuma extensão aplicável possui um método, getter ou campo acessível com esse nome.
Exemplos
#
O código a seguir produz este diagnóstico porque String não possui um
membro chamado len:
int f(String s) => s.len;
O código a seguir produz este diagnóstico porque List<int> não possui um
membro chamado middleIndex:
int f(List<int> l) => l.middleIndex();
O código a seguir produz este diagnóstico porque C tem apenas um setter
chamado x, que não pode ser lido:
class C {
set x(int _) {}
}
int f(C c) => c.x;
Correções comuns
#Se o membro que você pretende usar tiver outro nome, altere o nome para corresponder:
int f(String s) => s.length;
Se o membro for declarado em uma extensão que não foi importada, importe a biblioteca que declara a extensão.
Se o membro não estiver definido, defina-o no tipo do receptor ou em uma extensão que se aplique a esse tipo:
extension on List<int> {
int middleIndex() => length ~/ 2;
}
int f(List<int> l) => l.middleIndex();
Se o tipo tiver apenas um setter, adicione um getter com o mesmo nome:
class C {
int get x => 0;
set x(int _) {}
}
int f(C c) => c.x;
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
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ê.