Pular para o conteúdo principal

undefined_enum_constructor

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

The enum doesn't have a constructor named '{0}'.

The enum doesn't have an unnamed constructor.

Descrição

#

O analisador produz este diagnóstico quando o construtor invocado para inicializar um valor de enum não existe.

Exemplos

#

O código a seguir produz este diagnóstico porque o valor de enum c está sendo inicializado pelo construtor sem nome, mas não há construtor sem nome definido em E:

dart
enum E {
  c();
​
  const E.x();
}

O código a seguir produz este diagnóstico porque o valor de enum c está sendo inicializado pelo construtor chamado x, mas não há construtor chamado x definido em E:

dart
enum E {
  c.x();
​
  const E.y();
}

Correções comuns

#

Se o valor de enum está sendo inicializado pelo construtor sem nome e um dos construtores nomeados deveria ter sido usado, então adicione o nome do construtor:

dart
enum E {
  c.x();
​
  const E.x();
}

Se o valor de enum está sendo inicializado pelo construtor sem nome e nenhum dos construtores nomeados é apropriado, então defina o construtor sem nome:

dart
enum E {
  c();
​
  const E();
}

Se o valor de enum está sendo inicializado por um construtor nomeado e um dos construtores existentes deveria ter sido usado, então altere o nome do construtor que está sendo invocado (ou remova-o, se o construtor sem nome deveria ser usado):

dart
enum E {
  c.y();
​
  const E();
  const E.y();
}

Se o valor de enum está sendo inicializado por um construtor nomeado e nenhum dos construtores existentes deveria ter sido usado, então defina um construtor com o nome que foi usado:

dart
enum E {
  c.x();
​
  const E.x();
}

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