#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
, как рекомендует ваша ссылка.