跳到主内容

wrong_number_of_type_arguments

类型 '{0}' 声明了 {1} 个类型参数,但提供了 {2} 个类型实参。

描述

#

当使用带有类型参数的类型并提供类型实参时,如果提供的类型实参数量与类型参数数量不一致,分析器会生成此诊断。

当调用构造函数时,如果提供的类型实参数量与类声明的类型参数数量不匹配,分析器也会生成此诊断。

示例

#

以下代码会产生此诊断,因为 C 声明了一个类型参数,但在用作类型注解时提供了两个类型实参

dart
class C<E> {}

void f(C<int, int> x) {}

以下代码会产生此诊断,因为 C 声明了一个类型参数,但在创建实例时提供了两个类型实参

dart
class C<E> {}

var c = C<int, int>();

常见修复方法

#

根据需要添加或移除类型实参,使其数量与类型定义的类型参数数量匹配

dart
class C<E> {}

void f(C<int> x) {}