void_checks
向类型为 'void' 的变量赋值。
描述
#当向类型为 void 的变量赋值时,分析器会生成此诊断消息。
无法访问此类变量的值,因此此赋值无效。
示例
#以下代码会生成此诊断消息,因为字段 value 的类型是 void,但却为其赋了值
dart
class A<T> {
T? value;
}
void f(A<void> a) {
a.value = 1;
}以下代码会生成此诊断消息,因为方法 m 中参数 p 的类型是 void,但在调用中却为其赋了值
dart
class A<T> {
void m(T p) { }
}
void f(A<void> a) {
a.m(1);
}常见修复
#如果变量类型不正确,请更改变量的类型
dart
class A<T> {
T? value;
}
void f(A<int> a) {
a.value = 1;
}如果变量类型正确,请移除此赋值
dart
class A<T> {
T? value;
}
void f(A<void> a) {}