instance_ member_ access_ from_ factory
Detalhes sobre o diagnóstico 'instance_member_access_from_factory' produzido pelo analisador do Dart.
Instance members can't be accessed from a factory constructor.
Descrição
#
O analisador produz este diagnóstico quando um construtor de fábrica contém
uma referência não qualificada a um membro de instância. Em um construtor
generativo, a instância da classe é criada e inicializada antes da execução do
corpo do construtor, então a instância pode ser associada a this e acessada
da mesma forma que em um método de instância. Mas, em um construtor de fábrica,
a instância não é criada antes da execução do corpo, então this não pode ser
usado para referenciá-la.
Exemplo
#
O código a seguir produz este diagnóstico porque x não está no escopo do
construtor de fábrica:
class C {
int x;
factory C() {
return C._(x);
}
C._(this.x);
}
Correções comuns
#Reescreva o código para que ele não referencie o membro de instância:
class C {
int x;
factory C() {
return C._(0);
}
C._(this.x);
}
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ê.