跳到主要内容

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