mixin_on_sealed_class
類 '{0}' 不應被用作 mixin 約束,因為它是一個 sealed 類,並且任何混入此 mixin 的類都必須將 '{0}' 作為超類。
描述
#當 mixin 的超類約束是來自不同包中被標記為 sealed 的類時,分析器會產生此診斷。Sealed 類不能被擴充套件、實現、混入或用作超類約束。
示例
#如果包 p 定義了一個 sealed 類
dart
import 'package:meta/meta.dart';
@sealed
class C {}那麼,當在除了 p 以外的包中時,以下程式碼會產生此診斷
dart
import 'package:p/p.dart';
mixin M on C {}常見修復
#如果使用該 mixin 的類不需要是 sealed 類的子類,那麼考慮新增一個欄位並委託給 sealed 類的包裝例項。