Pular para o conteúdo principal

extension_type_declares_instance_field

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

Extension types can't declare instance fields.

Descrição

#

O analisador produz este diagnóstico quando há uma declaração de campo no corpo de uma declaração de tipo de extensão.

Exemplo

#

O código a seguir produz este diagnóstico porque o tipo de extensão E declara um campo chamado f:

dart
extension type E(int i) {
  final int f = 0;
}

Correções comuns

#

Se você não precisar do campo, remova-o ou substitua-o por um getter e/ou setter:

dart
extension type E(int i) {
  int get f => 0;
}

Se você precisar do campo, converta o tipo de extensão em uma classe:

dart
class E {
  final int i;
​
  final int f = 0;
​
  E(this.i);
}

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