跳到主內容

redirect_to_non_class

名稱“{0}”不是型別,不能用於重定向建構函式。

描述

#

實現工廠建構函式的一種方法是透過引用建構函式的名稱來重定向到另一個建構函式。當重定向到建構函式之外的其他內容時,分析器會產生此診斷資訊。

示例

#

以下程式碼會產生此診斷資訊,因為 f 是一個函式

dart
C f() => throw 0;

class C {
  factory C() = f;
}

常見修復

#

如果建構函式未定義,則定義它,或者用已定義的建構函式替換它。

如果建構函式已定義但定義它的類不可見,則可能需要新增匯入。

如果您嘗試返回函式返回的值,則重寫建構函式以從建構函式體中返回值

dart
C f() => throw 0;

class C {
  factory C() => f();
}