extension_ override_ without_ access
Detalhes sobre o diagnóstico 'extension_override_without_access' produzido pelo analisador do Dart.
An extension override can only be used to access instance members.
Descrição
#O analisador produz este diagnóstico quando é encontrado um override de extensão que não está sendo usado para acessar um dos membros da extensão. A sintaxe de override de extensão não tem semântica em tempo de execução; ela apenas controla qual membro é selecionado em tempo de compilação.
Exemplo
#
O código a seguir produz este diagnóstico porque E(i) não é uma
expressão:
extension E on int {
int get a => 0;
}
void f(int i) {
print(E(i));
}
Correções comuns
#Se você quiser invocar um dos membros da extensão, adicione a invocação:
extension E on int {
int get a => 0;
}
void f(int i) {
print(E(i).a);
}
Se você não quiser invocar um membro, desembrulhe o argumento:
extension E on int {
int get a => 0;
}
void f(int i) {
print(i);
}
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ê.