跳到主要内容

invalid_extension_argument_count

扩展覆盖必须且只能有一个参数:扩展方法中 'this' 的值。

描述

#

当扩展覆盖没有且只有一个参数时,分析器会生成此诊断。该参数是用于计算扩展方法内 this 值的表达式,因此必须有一个参数。

示例

#

以下代码生成此诊断,因为它没有参数

dart
extension E on String {
  String join(String other) => '$this $other';
}

void f() {
  E().join('b');
}

此外,以下代码生成此诊断,因为它有一个以上参数

dart
extension E on String {
  String join(String other) => '$this $other';
}

void f() {
  E('a', 'b').join('c');
}

常见修复方法

#

为扩展覆盖提供一个参数

dart
extension E on String {
  String join(String other) => '$this $other';
}

void f() {
  E('a').join('b');
}