
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
5.6 元数据
在Dart中,元数据(Metadata)也称为注解,可以为代码添加额外的信息。在之前的复写章节中,使用的@override其实就是一个元数据。除@override之外,还有@deprecated和@proxy,这三个元数据是Dart内置的。其中,@deprecated表示不推荐使用,可能是一个方法,也可能是一个变量,而@override和@proxy都和类的扩展有关。
考虑这样一种情况:对于一个库而言,针对其中的某个方法,我们想用更好的方法替代它。通常,考虑到库的不同版本之间的兼容性,还会保留旧的方法,但是会为其添加一个@deprecated注解,告知调用者不建议使用这个方法了,并提供一个推荐的方法。示例如下:

在标记了@deprecated之后,当再调用该方法时,将会提示:
