Pular para o conteúdo principal

field_initializer_factory_constructor

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

Initializing formal parameters can't be used in factory constructors.

Descrição

#

O analisador produz este diagnóstico quando um construtor de fábrica tem um parâmetro formal de inicialização. Construtores de fábrica não podem atribuir valores a campos porque nenhuma instância é criada; portanto, não há campo a ser atribuído.

Exemplo

#

O código a seguir produz este diagnóstico porque o construtor de fábrica usa um parâmetro formal de inicialização:

dart
class C {
  int? f;
​
  factory C(this.f) => throw 0;
}

Correções comuns

#

Substitua o parâmetro formal de inicialização por um parâmetro normal:

dart
class C {
  int? f;
​
  factory C(int f) => throw 0;
}

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