field_ initialized_ in_ initializer_ and_ declaration
Detalhes sobre o diagnóstico 'field_initialized_in_initializer_and_declaration' produzido pelo analisador do Dart.
Fields can't be initialized in the constructor if they are final and were already initialized at their declaration.
Descrição
#
O analisador produz este diagnóstico quando um campo final é inicializado
tanto na declaração do campo quanto em um inicializador em um construtor.
Campos final só podem receber atribuição uma vez, então não podem ser
inicializados nos dois lugares.
Exemplo
#O código a seguir produz este diagnóstico porque f é :
class C {
final int f = 0;
C() : f = 1;
}
Correções comuns
#Se a inicialização não depender de nenhum valor passado ao construtor, e se todos os construtores precisarem inicializar o campo com o mesmo valor, remova o inicializador do construtor:
class C {
final int f = 0;
C();
}
Se a inicialização depender de um valor passado ao construtor, ou se construtores diferentes precisarem inicializar o campo de forma diferente, remova o inicializador da declaração do campo:
class C {
final int f;
C() : f = 1;
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
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ê.