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 {}