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

クラスの型パラメータを参照する静的メンバー

静的メンバーは、クラスの型パラメータを参照できません。

説明

#

この診断は、静的メンバーがクラスのために宣言された型パラメータを参照する場合にアナライザーによって生成されます。型パラメータは、クラスのインスタンスに対してのみ意味を持ちます。

#

以下のコードは、静的メソッド hasType が型パラメータ T を参照しているため、この診断を生成します。

dart
class C<T> {
  static bool hasType(Object o) => o is T;
}

一般的な修正

#

メンバーがインスタンスメンバーになる可能性がある場合は、static キーワードを削除してください。

dart
class C<T> {
  bool hasType(Object o) => o is T;
}

メンバーが静的メンバーである必要がある場合は、そのメンバーをジェネリックにしてください。

dart
class C<T> {
  static bool hasType<S>(Object o) => o is S;
}

ただし、TS の間には関係がないため、この 2 番目のオプションは意図されていたものとは意味論が変わることに注意してください。