return_in_generative_constructor
构造函数不能返回值。
描述
#当一个生成式构造函数包含一个指定要返回值的 return
语句时,分析器会生成此诊断。生成式构造函数总是返回创建的对象,因此不能返回不同的对象。
示例
#以下代码会产生此诊断,因为 return
语句包含表达式
dart
class C {
C() {
return this;
}
}
常见修复方法
#如果构造函数应创建新实例,则移除 return
语句或表达式
dart
class C {
C();
}
如果构造函数不应创建新实例,则将其转换为工厂构造函数
dart
class C {
factory C() {
return _instance;
}
static C _instance = C._();
C._();
}