flutter / dart 可反射包:不反射 base/super class 成员
flutter / dart reflectable package : Not reflecting base/super class members
import 'package:reflection_test2/common/reflect/Reflector.dart';
@reflector
class Base
{
String s1;
}
@reflector
class Sub extends Base
{
String s2;
}
ClassMirror classMirror = reflector.reflectType(Sub);
=>这里class镜像只反射s2,不反射base/super class成员s1.
不确定您需要对 s1
字段做什么,但下面列出了一种访问它的方法。
希望对你有帮助。
class Reflector extends Reflectable {
// config reflect capabilities
const Reflector() : super(invokingCapability, declarationsCapability, typeRelationsCapability);
}
ClassMirror classMirror = reflector.reflectType(Sub);
// print all instance members of the superclass (e.g. toString, s1, etc.)
classMirror.superclass.instanceMembers.forEach((key, value) => print(value.simpleName));
import 'package:reflection_test2/common/reflect/Reflector.dart';
@reflector
class Base
{
String s1;
}
@reflector
class Sub extends Base
{
String s2;
}
ClassMirror classMirror = reflector.reflectType(Sub);
=>这里class镜像只反射s2,不反射base/super class成员s1.
不确定您需要对 s1
字段做什么,但下面列出了一种访问它的方法。
希望对你有帮助。
class Reflector extends Reflectable {
// config reflect capabilities
const Reflector() : super(invokingCapability, declarationsCapability, typeRelationsCapability);
}
ClassMirror classMirror = reflector.reflectType(Sub);
// print all instance members of the superclass (e.g. toString, s1, etc.)
classMirror.superclass.instanceMembers.forEach((key, value) => print(value.simpleName));