getter_not_subtype_setter_types
getter '{0}' 的返回型別 '{1}' 不是其 setter '{3}' 的型別 '{2}' 的子型別。
描述
#當 getter 的返回型別不是同名 setter 的引數型別的子型別時,分析器會生成此診斷資訊。
無論 getter 和 setter 在同一類中,還是其中一個在另一個的超類中,子型別關係都是必需的。
示例
#以下程式碼會生成此診斷資訊,因為 getter x 的返回型別是 num,setter x 的引數型別是 int,而 num 不是 int 的子型別
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) {}
}