final_ not_ initialized_ constructor
Detalhes sobre o diagnóstico 'final_not_initialized_constructor' produzido pelo analisador do Dart.
All final variables must be initialized, but '{0}' and '{1}' aren't.
All final variables must be initialized, but '{0}' isn't.
All final variables must be initialized, but '{0}', '{1}', and {2} others aren't.
Descrição
#
O analisador produz este diagnóstico quando uma classe define um ou mais campos
de instância final sem inicializadores e tem pelo menos um construtor que não
inicializa esses campos. Todos os campos de instância final devem ser
inicializados quando a instância é criada, seja pelo inicializador do campo ou
pelo construtor.
Exemplo
#O código a seguir produz este diagnóstico:
class C {
final String value;
C();
}
Correções comuns
#
Se o valor deve ser passado diretamente ao construtor, use um parâmetro formal
de inicialização para inicializar o campo value:
class C {
final String value;
C(this.value);
}
Se o valor deve ser calculado indiretamente a partir de um valor fornecido pelo chamador, adicione um parâmetro e inclua um inicializador:
class C {
final String value;
C(Object o) : value = o.toString();
}
Se o valor do campo não depender de valores que possam ser passados ao construtor, adicione um inicializador para o campo como parte da declaração do campo:
class C {
final String value = '';
C();
}
Se o valor do campo não depender de valores que possam ser passados ao construtor, mas construtores diferentes precisarem inicializá-lo com valores diferentes, adicione um inicializador para o campo na lista de inicializadores:
class C {
final String value;
C() : value = '';
C.named() : value = 'c';
}
No entanto, se o valor for o mesmo para todas as instâncias, considere usar um campo estático em vez de um campo de instância:
class C {
static const String value = '';
C();
}
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ê.