Pular para o conteúdo principal

non_redirecting_generative_constructor_with_primary

Detalhes sobre o diagnóstico 'non_redirecting_generative_constructor_with_primary' produzido pelo analisador do Dart.

Classes with primary constructors can't have non-redirecting generative constructors.

Descrição

#

O analisador emite este diagnóstico quando uma classe que declara um construtor primário também tem um construtor generativo que não redireciona.

Exemplo

#

O código a seguir produz este diagnóstico porque a classe C declara tanto um construtor primário quanto um construtor generativo que não redireciona:

dart
class C(final String f) {
  new c(Object p) : f = p.toString();
}

Correções comuns

#

Se o construtor generativo puder redirecionar para o construtor primário, então adicione o redirecionamento:

dart
class C(final String f) {
  new c(Object p) : this(p.toString());
}

Se o construtor generativo puder ser um construtor de fábrica que usa o construtor primário para criar a instância, então torne-o um construtor de fábrica:

dart
class C(final String f) {
  factory c(Object p) => C(p.toString());
}

Caso contrário, remova o construtor generativo ou converta o construtor primário em um construtor generativo no corpo da classe.

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ê.