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