已弃用类
@Deprecated('migration')
注解将一个功能标记为已弃用。
注解 已弃用 是在没有迁移说明的情况下,将功能弃用到未指定的“下一个版本”的简写。
功能可以是 API 的任何部分,从整个库到单个参数。
@Deprecated
注解的意图是通知当前使用该功能的作者,他们很快就需要停止在他们的代码中使用该功能,即使该功能目前仍然运行正确。
弃用是一个早期警告,表明已弃用的功能计划在将来某个时间(可能在 message 中指定)被移除。弃用的功能不应再被使用,使用它的代码将在未来的某个时刻崩溃。如果现有代码正在使用该功能,则应该重写该代码,以不再使用已弃用的功能。
弃用的功能应在 message 中记录如何实现相同的效果,以便程序员知道如何重写代码。
@Deprecated
注解适用于库、顶级声明(变量、获取器、设置器、函数、类、混入、扩展和 typedefs)、类级声明(变量、获取器、设置器、方法、运算符或构造函数,无论是静态的还是非静态的)、命名可选参数和尾随可选位置参数。
弃用会逐级应用于已弃用功能的各个部分
- 如果库被弃用,那么它的每个成员也被弃用。
- 如果类被弃用,那么它的每个成员也被弃用。
- 如果变量被弃用,那么它的隐式获取器和设置器也被弃用。
如果超类中的功能被弃用,那么它**不会**在子类中自动弃用。从超类中删除成员并在子类中保留它是合理的,因此需要能够在超类中弃用该成员。
处理 Dart 源代码的工具可能会报告以下情况:
- 代码导入了一个已弃用的库。
- 代码导出了一个已弃用的库,或者非弃用库中的任何已弃用成员。
- 代码引用了一个已弃用的声明。
- 代码使用了一个具有静态已知类型的对象成员,其中该成员在静态类型的接口上被弃用。
- 代码调用了一个方法,其中相应的可选参数在对象的静态类型上被弃用。
如果弃用的使用在库、类或方法内部,该方法是已弃用的,则工具不应打扰用户。预期弃用的功能将使用其他已弃用的功能。
构造函数
属性
方法
-
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时被调用。继承
-
toString(
) → String - 该对象的字符串表示形式。重写
运算符
-
operator ==(
Object other) → bool - 等号运算符。继承