我正在尝试以dart语言获取runtim中的变量类型,当我的类中的字段没有int,String等默认值时,我无法获取字段类型,但是当我将defaut值设置为确定时。 在此示例中,我希望在班级中使用T类型以及bool和string类型:
class MessageContract<T>
{
T Data;
bool IsSuccess;
int IntValue;
}
class Product {
String Name = "";
int Age = 0;
}
测试示例:
MessageContract<Product> msg = new MessageContract<Product>();
var instanceMirror = reflect(msg);
var type = instanceMirror.type;
// type will be null for Object's superclass
while (type != null) {
// if you only care about public fields,
// check if d.isPrivate != true
for(var item in type.declarations.values)
{
if ( item is VariableMirror) {
print("ok:"+item.type.toString());
}
print(item);
}
type = type.superclass;
}