Pular para o conteúdo principal

implicit_this_reference_in_initializer

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

The instance member '{0}' can't be accessed in an initializer.

Descrição

#

O analisador produz este diagnóstico quando encontra uma referência a um membro de instância na lista de inicializadores de um construtor.

Exemplo

#

O código a seguir produz este diagnóstico porque defaultX é um membro de instância:

dart
class C {
  int x;
​
  C() : x = defaultX;
​
  int get defaultX => 0;
}

Correções comuns

#

Se o membro puder se tornar estático, faça isso:

dart
class C {
  int x;
​
  C() : x = defaultX;
​
  static int get defaultX => 0;
}

Se não puder, substitua a referência no inicializador por outra expressão que não use um membro de instância:

dart
class C {
  int x;
​
  C() : x = 0;
​
  int get defaultX => 0;
}

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