I have a instance of Type, but I want its fully qualified name. How can I do this? I know I have to use Mirrors (Dart's reflection library).
Use the new reflectClass top-level function from dart:mirrors.
Here's 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;
}
The qualifiedName should be something like:
http://127.0.0.1:3030/Users/sethladd/dart/type_name/web/type_name.dart.Awesome
Note, this works in build 21753 or higher. Also, this doesn't currently work in dart2js yet. We plan to support it in dart2js.
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