Pular para o conteúdo principal

generic_method_type_instantiation_on_dynamic

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

A method tear-off on a receiver whose type is 'dynamic' can't have type arguments.

Descrição

#

O analisador produz este diagnóstico quando um método de instância é extraído (tear-off) de um receptor cujo tipo é dynamic, e o tear-off inclui argumentos de tipo. Como o analisador não pode saber quantos parâmetros de tipo o método tem, nem se ele tem algum, não há como validar se os argumentos de tipo estão corretos. Por isso, os argumentos de tipo não são permitidos.

Exemplo

#

O código a seguir produz este diagnóstico porque o tipo de p é dynamic e o tear-off de m tem argumentos de tipo:

dart
void f(dynamic list) {
  list.fold<int>;
}

Correções comuns

#

Se você puder usar um tipo mais específico que dynamic, altere o tipo do receptor:

dart
void f(List<Object> list) {
  list.fold<int>;
}

Se você não puder usar um tipo mais específico, remova os argumentos de tipo:

dart
void f(dynamic list) {
  list.cast;
}

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