Pular para o conteúdo principal

switch_expression_not_assignable

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

Type '{0}' of the switch expression isn't assignable to the type '{1}' of case expressions.

Descrição

#

O analisador produz este diagnóstico quando o tipo da expressão em uma instrução switch não é atribuível ao tipo das expressões nas cláusulas case.

Exemplo

#

O código a seguir produz este diagnóstico porque o tipo de s (String) não é atribuível ao tipo de 0 (int):

dart
void f(String s) {
  switch (s) {
    case 0:
      break;
  }
}

Correções comuns

#

Se o tipo das expressões case está correto, então altere a expressão na instrução switch para ter o tipo correto:

dart
void f(String s) {
  switch (int.parse(s)) {
    case 0:
      break;
  }
}

Se o tipo da expressão switch está correto, então altere as expressões case para terem o tipo correto:

dart
void f(String s) {
  switch (s) {
    case '0':
      break;
  }
}

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