![Flutter从0基础到App上线](https://wfqqreader-1252317822.image.myqcloud.com/cover/259/33831259/b_33831259.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
5.6 元数据
在Dart中,元数据(Metadata)也称为注解,可以为代码添加额外的信息。在之前的复写章节中,使用的@override其实就是一个元数据。除@override之外,还有@deprecated和@proxy,这三个元数据是Dart内置的。其中,@deprecated表示不推荐使用,可能是一个方法,也可能是一个变量,而@override和@proxy都和类的扩展有关。
考虑这样一种情况:对于一个库而言,针对其中的某个方法,我们想用更好的方法替代它。通常,考虑到库的不同版本之间的兼容性,还会保留旧的方法,但是会为其添加一个@deprecated注解,告知调用者不建议使用这个方法了,并提供一个推荐的方法。示例如下:
![img](https://epubservercos.yuewen.com/9CF474/18096059801207706/epubprivate/OEBPS/Images/txt005_31.jpg?sign=1738828915-KsSmAqxZOP9CXqQk3w4MqcIDUQi4GvF9-0-b346481ae2419efb10f559a0633070f2)
在标记了@deprecated之后,当再调用该方法时,将会提示:
![img](https://epubservercos.yuewen.com/9CF474/18096059801207706/epubprivate/OEBPS/Images/txt005_32.jpg?sign=1738828915-cKzmDRCKUOwFwZWmsw0pqBFKWwCNhHW2-0-7efd263b05b96cccb6224f577be4528c)