undefined_ extension_ member_ write
Detalhes sobre o diagnóstico 'undefined_extension_member_write' produzido pelo analisador do Dart.
The extension '{0}' doesn't have an instance setter named '{1}'.
The member '{0}' is declared in '{1}', but private names are visible only in their own library.
The {0} '{1}' in the extension '{2}' can't be assigned to.
There's a getter '{0}' in the extension '{1}', but no setter.
Descrição
#O analisador produz este diagnóstico quando um override de extensão é usado para atribuir um valor a um membro, mas a extensão não declara um setter de instância com esse nome.
Exemplos
#
O código a seguir produz este diagnóstico porque a extensão E não declara um setter chamado
b:
extension E on String {
set a(String _) {}
}
void f() {
E('c').b = 'd';
}
O código a seguir produz este diagnóstico porque a extensão E declara apenas um getter chamado
a:
extension E on String {
String get a => 'a';
}
void f() {
E('c').a = 'd';
}
Correções comuns
#Se você pretendia usar outro setter da extensão, então use o nome dele:
extension E on String {
set a(String _) {}
}
void f() {
E('c').a = 'd';
}
Se o setter não está declarado, então declare-o na extensão ou remova a atribuição.
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ê.