invalid_ reference_ to_ generative_ enum_ constructor
Detalhes sobre o diagnóstico 'invalid_reference_to_generative_enum_constructor' produzido pelo analisador do Dart.
Generative enum constructors can only be used to create an enum constant.
Generative enum constructors can't be torn off.
Descrição
#O analisador produz este diagnóstico quando um construtor generativo definido em um enum é usado em qualquer lugar que não seja para criar uma das constantes do enum ou como destino de um redirecionamento a partir de outro construtor do mesmo enum.
Exemplo
#
O código a seguir produz este diagnóstico porque o construtor de E está sendo
usado para criar uma instância na função f:
enum E {
a(0);
const E(int x);
}
E f() => const E(2);
Correções comuns
#Se houver um valor de enum com o mesmo valor, ou se você adicionar essa constante, então referencie a constante diretamente:
enum E {
a(0),
b(2);
const E(int x);
}
E f() => E.b;
Se você precisar usar uma invocação de construtor, então use um construtor de fábrica:
enum E {
a(0);
const E(int x);
factory E.c(int x) => a;
}
E f() => E.c(2);
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ê.