Ошибка Dart / Flutter с «Использовать синтаксис универсального типа функции для параметров» (use_function_type_syntax_for_parameters)

#function #flutter #dart #generics #parameters

#функция #flutter #dart #общие #параметры

Вопрос:

Я получаю это предупреждение в vscode, и я не уверен, как его разрешить. Предупреждение «Использовать синтаксис универсального типа функции для параметров» показано в vscode ниже.:

введите описание изображения здесь

Однако я не смог понять dart-lang.github, чтобы понять, что я делаю неправильно: https://dart-lang.github.io/linter/lints/use_function_type_syntax_for_parameters.html

Что особенно странно, так это количество параметров, подчеркнутых синим цветом в vscode (показано на рисунке) Я все еще не уверен, жалуется ли он на функцию Sort () или функцию getField (). (Я думаю, что это первое?)

Как правильно написать эту функцию, чтобы удовлетворить этой рекомендации?

Вот код:

 @override
  void sort<T>(Comparable<T> getField(Question d), bool ascending) {  <-- warning on this line
    data.sort(( a,  b) {
      if (!ascending) {
        final Question c = a;
        a = b;
        b = c;
      }
      final Comparable<T> aValue = getField(a);
      final Comparable<T> bValue = getField(b);
      return Comparable.compare(aValue, bValue);
    });
  }
 

Ответ №1:

Измените Comparable<T> getField(Question d) на Comparable<T> Function(Question d) getField , как рекомендует ваша ссылка.