import 'package:example2/src/models.dart'; void main() { final stopwatch = Stopwatch()..start(); //var reflectedClass = reflect(Shape()); //reflectedClass.invoke(#draw, []); //reflectedClass.invoke(Symbol('draw'), []); print('Reflection executed in ${stopwatch.elapsed.inMilliseconds} ms'); stopwatch.stop(); printAnnotationValue(String); printAnnotationValue(Shape); printAnnotationValue(Square); } class Shape { void draw() => print("Draw Shape"); } @Person('Will', 'Tom') class Square { void greetHii() { print("Hii Welcome to flutter agency"); } } void printAnnotationValue(final Type clazz) { final DeclarationMirror clazzDeclaration = reflectClass(clazz); final ClassMirror someAnnotationMirror = reflectClass(Person); final annotationInstsanceMirror = clazzDeclaration.metadata.where((d) => d.type == someAnnotationMirror); if (annotationInstsanceMirror.isEmpty) { print('No annotated class found'); return; } final someAnnotationInstance = (annotationInstsanceMirror.first.reflectee as Person); print(someAnnotationInstance.firstName); }