invalid_factory_name_not_a_class
工廠建構函式的名稱必須與其直接所在的類名稱相同。
描述
#當工廠建構函式的名稱與其所在類名稱不同時,分析器會生成此診斷資訊。
示例
#以下程式碼會生成此診斷資訊,因為工廠建構函式的名稱(A)與其所在類(C)的名稱不同
dart
class A {}
class C {
factory A() => throw 0;
}常見修復方法
#如果工廠返回的是其所在類的例項,並且你打算讓它成為一個無名工廠建構函式,那麼請重新命名該工廠
dart
class A {}
class C {
factory C() => throw 0;
}如果工廠返回的是其所在類的例項,並且你打算讓它成為一個命名工廠建構函式,那麼請在工廠建構函式的名稱前加上其所在類的名稱
dart
class A {}
class C {
factory C.a() => throw 0;
}如果工廠返回的是不同類的例項,那麼請將該工廠移動到那個類中
dart
class A {
factory A() => throw 0;
}
class C {}如果工廠返回的是不同類的例項,但你無法修改那個類或不想移動該工廠,那麼請將其轉換為一個靜態方法
dart
class A {}
class C {
static A a() => throw 0;
}