field_ initializer_ redirecting_ constructor
Detalhes sobre o diagnóstico 'field_initializer_redirecting_constructor' produzido pelo analisador do Dart.
The redirecting constructor can't have a field initializer.
Descrição
#O analisador produz este diagnóstico quando um construtor de redirecionamento inicializa um campo no objeto. Isso não é permitido porque a instância que contém o campo ainda não foi criada no ponto em que ele deveria ser inicializado.
Exemplos
#
O código a seguir produz este diagnóstico porque o construtor
C.zero, que redireciona para o construtor C, tem um parâmetro formal de
inicialização que inicializa o campo f:
class C {
int f;
C(this.f);
C.zero(this.f) : this(f);
}
O código a seguir produz este diagnóstico porque o construtor
C.zero, que redireciona para o construtor C, tem um inicializador que
inicializa o campo f:
class C {
int f;
C(this.f);
C.zero() : f = 0, this(1);
}
Correções comuns
#Se a inicialização for feita por um parâmetro formal de inicialização, use um parâmetro normal:
class C {
int f;
C(this.f);
C.zero(int f) : this(f);
}
Se a inicialização for feita em um inicializador, remova o inicializador:
class C {
int f;
C(this.f);
C.zero() : this(0);
}
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ê.