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) {}