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

extension_override_access_to_static_member

拡張機能のオーバーライドを使用して、拡張機能の静的メンバーにアクセスすることはできません。

説明

#

エクステンションオーバーライドが静的メンバーの呼び出しのレシーバである場合に、アナライザはこの診断を生成します。クラスの静的メンバーと同様に、エクステンションの静的メンバーには、エクステンションオーバーライドではなく、エクステンション名を使用してアクセスする必要があります。

#

次のコードは、m が静的であるため、この診断を生成します。

dart
extension E on String {
  static void m() {}
}

void f() {
  E('').m();
}

一般的な修正

#

エクステンションオーバーライドをエクステンション名に置き換えます。

dart
extension E on String {
  static void m() {}
}

void f() {
  E.m();
}