assignment_to_final_no_setter
类 '{1}' 中没有名为 '{0}' 的 setter。
描述
#当分析器发现对 setter 的引用,但该类型没有定义 setter,却定义了同名 getter 时,会产生此诊断消息。
示例
#以下代码会产生此诊断消息,因为在 C
中没有名为 x
的 setter,但存在一个名为 x
的 getter
dart
class C {
int get x => 0;
set y(int p) {}
}
void f(C c) {
c.x = 1;
}
常见修复方法
#如果您想调用现有的 setter,请纠正名称
dart
class C {
int get x => 0;
set y(int p) {}
}
void f(C c) {
c.y = 1;
}
如果您想调用 setter 但它尚未存在,则声明它
dart
class C {
int get x => 0;
set x(int p) {}
set y(int p) {}
}
void f(C c) {
c.x = 1;
}