空字段的飞镖类型?

时间:2019-01-26 10:49:03

标签: generics dart mirror

我正在尝试以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;
    }

0 个答案:

没有答案