跳到主要内容

方法类型参数数量错误

方法 '{0}' 声明了 {1} 个类型参数,但给定了 {2} 个类型实参。

描述

#

当调用方法或函数时提供的类型实参数量与其声明中指定的类型参数数量不同时,分析器会生成此诊断信息。必须要么不提供类型实参,要么提供的实参数量必须与参数数量匹配。

示例

#

以下代码会生成此诊断信息,因为对方法 m 的调用提供了两个类型实参,但 m 的声明只包含一个类型参数。

dart
class C {
  int m<A>(A a) => 0;
}

int f(C c) => c.m<int, int>(2);

常见修复方法

#

如果类型实参是必需的,则通过添加或移除类型实参使其数量与类型参数的数量匹配。

dart
class C {
  int m<A>(A a) => 0;
}

int f(C c) => c.m<int>(2);

如果类型实参不是必需的,则移除它们。

dart
class C {
  int m<A>(A a) => 0;
}

int f(C c) => c.m(2);