跳到主要內容

redirect_to_non_const_constructor

常量重定向建構函式不能重定向到非常量建構函式。

描述

#

當一個標記為 const 的建構函式重定向到未標記為 const 的建構函式時,分析器會產生此診斷。

示例

#

以下程式碼會產生此診斷,因為建構函式 C.a 被標記為 const,但重定向到建構函式 C.b,而 C.b 不是常量建構函式

dart
class C {
  const C.a() : this.b();
  C.b();
}

常見解決方法

#

如果該非常量建構函式可以被標記為 const,則將其標記為 const

dart
class C {
  const C.a() : this.b();
  const C.b();
}

如果該非常量建構函式不能被標記為 const,則或者移除重定向,或者從重定向建構函式中移除 const

dart
class C {
  C.a() : this.b();
  C.b();
}