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._();
}