跳到主要内容

undefined_extension_operator

运算符 “{0}” 未针对扩展 “{1}” 定义。

描述

#

当对特定扩展调用运算符而该扩展未实现该运算符时,分析器会生成此诊断。

示例

#

以下代码会生成此诊断,因为扩展 E 未定义运算符 *

dart
var x = E('') * 4;

extension E on String {}

常见修复方法

#

如果预期扩展实现该运算符,则向扩展添加运算符的实现。

dart
var x = E('') * 4;

extension E on String {
  int operator *(int multiplier) => length * multiplier;
}

如果该运算符由不同的扩展定义,则将扩展名称更改为定义该运算符的扩展名称。

如果该运算符定义在扩展覆盖的参数上,则移除扩展覆盖。

dart
var x = '' * 4;

extension E on String {}