在dart:mirrors包中,从符号获取字符串值的方法是:

MirrorSystem.getName(#MySymbol);

可反射包装有什么等效的东西吗?

最佳答案

这可能是您想要的,但不如MirrorSystem.getName(#MySymbol);通用

library some_lib;

//import 'dart:mirrors' as mirr;
import 'package:reflectable/reflectable.dart';

class Reflector extends Reflectable {
  const Reflector() : super(typeCapability);
}

const Reflector reflector = const Reflector();

main() {
//  print(mirr.MirrorSystem.getName(#SomeClass));
  reflector.libraries.values.forEach((LibraryMirror lm) {
    if (lm.declarations.containsKey('SomeClass')) {
      print(lm.declarations['SomeClass']);
    }
  });
}

@reflector
class SomeClass {}

10-06 10:49