已弃用

@Deprecated('migration') 注解将一个功能标记为已弃用。

注解 已弃用 是在没有迁移说明的情况下,将功能弃用到未指定的“下一个版本”的简写。

功能可以是 API 的任何部分,从整个库到单个参数。

@Deprecated 注解的意图是通知当前使用该功能的作者,他们很快就需要停止在他们的代码中使用该功能,即使该功能目前仍然运行正确。

弃用是一个早期警告,表明已弃用的功能计划在将来某个时间(可能在 message 中指定)被移除。弃用的功能不应再被使用,使用它的代码将在未来的某个时刻崩溃。如果现有代码正在使用该功能,则应该重写该代码,以不再使用已弃用的功能。

弃用的功能应在 message 中记录如何实现相同的效果,以便程序员知道如何重写代码。

@Deprecated 注解适用于库、顶级声明(变量、获取器、设置器、函数、类、混入、扩展和 typedefs)、类级声明(变量、获取器、设置器、方法、运算符或构造函数,无论是静态的还是非静态的)、命名可选参数和尾随可选位置参数。

弃用会逐级应用于已弃用功能的各个部分

  • 如果库被弃用,那么它的每个成员也被弃用。
  • 如果类被弃用,那么它的每个成员也被弃用。
  • 如果变量被弃用,那么它的隐式获取器和设置器也被弃用。

如果超类中的功能被弃用,那么它**不会**在子类中自动弃用。从超类中删除成员并在子类中保留它是合理的,因此需要能够在超类中弃用该成员。

处理 Dart 源代码的工具可能会报告以下情况:

  • 代码导入了一个已弃用的库。
  • 代码导出了一个已弃用的库,或者非弃用库中的任何已弃用成员。
  • 代码引用了一个已弃用的声明。
  • 代码使用了一个具有静态已知类型的对象成员,其中该成员在静态类型的接口上被弃用。
  • 代码调用了一个方法,其中相应的可选参数在对象的静态类型上被弃用。

如果弃用的使用在库、类或方法内部,该方法是已弃用的,则工具不应打扰用户。预期弃用的功能将使用其他已弃用的功能。

构造函数

已弃用(String message)
创建一个弃用注解,指定注解功能的迁移路径和过期时间。
const

属性

hashCode int
此对象的哈希码。
无设置器继承
message String
当用户使用已弃用的功能时提供给用户的消息。
final
runtimeType Type
对象运行时类型的表示。
无设置器继承

方法

noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时被调用。
继承
toString() String
该对象的字符串表示形式。
重写

运算符

operator ==(Object other) bool
等号运算符。
继承