已过时

注解 @Deprecated('迁移') 用于标记一个功能已过时。

注解 已过时 是在未指定迁移指导的“下一个版本”之前简略地表示功能已过时。

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

@Deprecated 注解的目的是通知正在使用该功能的作者,即使在功能目前仍能正确工作的情况下,他们也很快需要在代码中停止使用该功能。

过时是一个提前警告,表明已过时的功能计划在未来某个时间移除,这个时间可能已在 消息 中指定。一个已过时的功能不应再被使用,使用它的代码可能在未来的某个时刻出错。如果现有代码正在使用该功能,那么应该重写该代码,使其不再使用已过时的功能。

一个已过时的功能应在 消息 中记录如何实现相同的效果,以便程序员知道如何重写代码。

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

过时会传递性地应用于已过时功能的各个部分

  • 如果一个库已过时,那么它的所有成员也都已过时。
  • 如果一个类已过时,那么它的所有成员也都已过时。
  • 如果一个变量已过时,那么它的隐式获取器和设置器也都已过时。

如果在超类中已过时一个功能,则它不会自动在子类中过时。从超类中删除成员并在子类中保留它是合理的,因此需要仅在超类中过时该成员。

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

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

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

构造函数

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

属性

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

方法

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

运算符

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