Pular para o conteúdo principal

final_initialized_in_declaration_and_constructor

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

'{0}' is final and was given a value when it was declared, so it can't be set to a new value.

Descrição

#

O analisador produz este diagnóstico quando um campo final é inicializado duas vezes: uma vez onde é declarado e outra pelo parâmetro de um construtor.

Exemplo

#

O código a seguir produz este diagnóstico porque o campo f é inicializado duas vezes:

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

Correções comuns

#

Se o campo deve ter o mesmo valor para todas as instâncias, remova a inicialização da lista de parâmetros:

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

Se o campo puder ter valores diferentes em instâncias diferentes, remova a inicialização da declaração:

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

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