generic_method_type_instantiation_on_dynamic
类型为 'dynamic' 的接收者的方法 tear-off 不能带有类型参数。
描述
#当从类型为 dynamic
的接收者上 tear off 实例方法,并且该 tear off 包含类型参数时,分析器会生成此诊断。由于分析器无法知道该方法有多少个类型参数,或者是否有任何类型参数,因此无法验证类型参数是否正确。因此,不允许使用类型参数。
示例
#以下代码会生成此诊断,因为 p
的类型是 dynamic
,并且 m
的 tear off 具有类型参数
dart
void f(dynamic list) {
list.fold<int>;
}
常见修复方法
#如果您可以使用比 dynamic
更具体的类型,请更改接收者的类型
dart
void f(List<Object> list) {
list.fold<int>;
}
如果您不能使用更具体的类型,请移除类型参数
dart
void f(dynamic list) {
list.cast;
}