invalid_use_of_type_outside_library
類 '{0}' 不能在其庫外部被擴充套件,因為它是一個 final 類。
類 '{0}' 不能在其庫外部被擴充套件,因為它是一個 interface 類。
類 '{0}' 不能在其庫外部被擴充套件、實現或混合,因為它是一個 sealed 類。
類 '{0}' 不能在其庫外部被實現,因為它是一個 base 類。
類 '{0}' 不能在其庫外部被實現,因為它是一個 final 類。
類 '{0}' 不能在其庫外部被用作混入超類約束,因為它是一個 final 類。
混入 '{0}' 不能在其庫外部被實現,因為它是一個 base mixin。
描述
#分析器在 extends、implements、with 或 on 子句以類或混入宣告中不允許的方式使用類或混入時,會產生此診斷資訊。
該訊息說明了宣告的使用方式以及為何不允許這樣使用。
示例
#給定一個檔案 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 {}