跳到主要內容

invalid_use_of_type_outside_library

類 '{0}' 不能在其庫外部被擴充套件,因為它是一個 final 類。

類 '{0}' 不能在其庫外部被擴充套件,因為它是一個 interface 類。

類 '{0}' 不能在其庫外部被擴充套件、實現或混合,因為它是一個 sealed 類。

類 '{0}' 不能在其庫外部被實現,因為它是一個 base 類。

類 '{0}' 不能在其庫外部被實現,因為它是一個 final 類。

類 '{0}' 不能在其庫外部被用作混入超類約束,因為它是一個 final 類。

混入 '{0}' 不能在其庫外部被實現,因為它是一個 base mixin。

描述

#

分析器在 extendsimplementswithon 子句以類或混入宣告中不允許的方式使用類或混入時,會產生此診斷資訊。

該訊息說明了宣告的使用方式以及為何不允許這樣使用。

示例

#

給定一個檔案 a.dart,其中定義了一個 base 類 A

dart
base class A {}

以下程式碼會產生此診斷資訊,因為類 B 實現了類 A,但 base 修飾符阻止了 A 在其定義所在的庫外部被實現

dart
import 'a.dart';

final class B implements A {}

常見修復方法

#

此型別在其宣告庫外部的使用受到限制。如果存在一個提供類似功能的、不受限制的不同型別,則替換此型別

dart
class B implements C {}
class C {}

如果沒有合適的其他型別,則移除此型別,也可能需要移除整個子句

dart
class B {}