メインコンテンツにスキップ

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 {}