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

getter_not_subtype_setter_types

getter '{0}' の戻り値の型 '{1}' は、その setter '{3}' の型 '{2}' のサブタイプではありません。

説明

#

getter の戻り値の型が、同じ名前の setter のパラメータの型に対するサブタイプではない場合に、アナライザーはこの診断を生成します。

getter と setter が同じクラスにある場合でも、一方または他方がそれらのスーパークラスにある場合でも、サブタイプの関係は要件です。

#

次のコードは、getter x の戻り値の型が num で、setter x のパラメータ型が int であり、numint のサブタイプではないため、この診断を生成します。

dart
class C {
  num get x => 0;

  set x(int y) {}
}

一般的な修正

#

getter の型が正しい場合は、setter の型を変更してください。

dart
class C {
  num get x => 0;

  set x(num y) {}
}

setter の型が正しい場合は、getter の型を変更してください。

dart
class C {
  int get x => 0;

  set x(int y) {}
}