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

extension_conflicting_static_and_instance

拡張機能で、名前が'{0}'の静的メンバーとインスタンスメンバーを同時に定義することはできません。

説明

#

この診断は、拡張機能の宣言に、同じ名前のインスタンスメンバーと静的メンバーの両方が含まれている場合にアナライザーによって生成されます。インスタンスメンバーと静的メンバーは同じ名前を持つことができません。なぜなら、拡張機能の本体内で名前を修飾せずに使用した場合、どちらのメンバーを参照しているのか不明確になるからです。

#

以下のコードは、名前aが2つの異なるメンバーに使用されているため、この診断を生成します。

dart
extension E on Object {
  int get a => 0;
  static int a() => 0;
}

一般的な修正

#

どちらかのメンバーの名前を変更するか、削除してください。

dart
extension E on Object {
  int get a => 0;
  static int b() => 0;
}