Pular para o conteúdo principal

extension_override_with_cascade

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

Extension overrides have no value so they can't be used as the receiver of a cascade expression.

Descrição

#

O analisador produz este diagnóstico quando um override de extensão é usado como receptor de uma expressão em cascata. O valor de uma expressão em cascata e..m é o valor do receptor e, mas overrides de extensão não são expressões e não têm valor.

Exemplo

#

O código a seguir produz este diagnóstico porque E(3) não é uma expressão:

dart
extension E on int {
  void m() {}
}
​
void f() {
  E(3)..m();
}

Correções comuns

#

Use . em vez de ..:

dart
extension E on int {
  void m() {}
}
​
void f() {
  E(3).m();
}

Se houver vários acessos em cascata, será necessário duplicar o override de extensão para cada um deles.

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