我有一个用元数据注释的 Dart 类:
class Awesome {
final String msg;
const Awesome(this.msg);
String toString() => msg;
}
@Awesome('it works!')
class Cool {
}
我想看看Cool
是否被注释了,如果有,用什么注释。我该怎么做?
最佳答案
使用 dart:mirrors
库访问元数据注释。
import 'dart:mirrors';
class Awesome {
final String msg;
const Awesome(this.msg);
String toString() => msg;
}
@Awesome('it works!')
class Cool {
}
void main() {
ClassMirror classMirror = reflectClass(Cool);
List<InstanceMirror> metadata = classMirror.metadata;
var obj = metadata.first.reflectee;
print(obj); // it works!
}
要了解更多信息,请阅读 ClassMirror#metadata方法。
关于dart - 如何从类访问元数据注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17255368/