I have a Dart class that is annotated with metadata:
class Awesome {
final String msg;
const Awesome(this.msg);
String toString() => msg;
}
@Awesome('it works!')
class Cool {
}
I want to see if Cool
was annotated, and if so, with what. How do I do that?
Use the dart:mirrors
library to access metadata annotations.
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!
}
To learn more, read about the ClassMirror#metadata method.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With