function - Dart / Flutter 与“对参数使用通用函数类型语法”(use_function_type_syntax_for_parameters)混淆
问题描述
我在 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);
});
}
解决方案
根据您的链接建议更改Comparable<T> getField(Question d)
为。Comparable<T> Function(Question d) getField