我有一个用元数据注释的 Dart 类:
class Awesome {
final String msg;
const Awesome(this.msg);
String toString() => msg;
}
@Awesome('it works!')
class Cool {
}
我想看看是否Cool
有注释,如果有,用什么注释。我怎么做?
我有一个用元数据注释的 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方法。