Pular para o conteúdo principal

field_initialized_in_parameter_and_initializer

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

Fields can't be initialized in both the parameter list and the initializers.

Descrição

#

O analisador produz este diagnóstico quando um campo é inicializado tanto na lista de parâmetros quanto na lista de inicializadores de um construtor.

Exemplo

#

O código a seguir produz este diagnóstico porque o campo f é inicializado tanto por um parâmetro formal de inicialização quanto na lista de inicializadores:

dart
class C {
  int f;
​
  C(this.f) : f = 0;
}

Correções comuns

#

Se o campo deve ser inicializado pelo parâmetro, remova a inicialização da lista de inicializadores:

dart
class C {
  int f;
​
  C(this.f);
}

Se o campo deve ser inicializado na lista de inicializadores e o parâmetro não for necessário, remova o parâmetro:

dart
class C {
  int f;
​
  C() : f = 0;
}

Se o campo deve ser inicializado na lista de inicializadores e o parâmetro for necessário, transforme-o em um parâmetro normal:

dart
class C {
  int f;
​
  C(int g) : f = g * 2;
}

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