How to get qualified name from Type instance in Dart?

I have an instance of Type , but I want its full name. How can i do this? I know that I need to use Mirrors (Dart Reflection Library).

+8
dart dart-mirrors
source share
1 answer

Use the new top-level function reflectClass from dart:mirrors .

Here is an example:

 import 'dart:html'; import 'dart:mirrors'; class Awesome { // ... } void main() { var awesome = new Awesome(); Type type = awesome.runtimeType; ClassMirror mirror = reflectClass(type); Symbol symbol = mirror.qualifiedName; String qualifiedName = MirrorSystem.getName(symbol); query('#name').text = qualifiedName; } 

qualifiedName should look something like this:

 http://127.0.0.1:3030/Users/sethladd/dart/type_name/web/type_name.dart.Awesome 

Please note that this works in build 21753 or higher. Also, this does not work in dart2js yet. We plan to support it in dart2js.

+9
source share

All Articles