如何在Flutter中获取类的每个键/值对及其类型?

时间:2019-02-11 20:55:59

标签: class dart flutter

我想测试类的.toJSON()函数,因为我正在从网关接收垃圾,因此我需要确保每个字段的类型都可以避免崩溃。

我创建了一个测试,方法是将类转换为Map<String, dynamic>,然后在其上使用.forEach。看起来像这样:

    map.forEach((String key, dynamic value) {
      switch (value.runtimeType) {
        case int:
          map[key] = rInt[random.nextInt(rInt.length)];
          break;

        case double:
          map[key] = rDouble[random.nextInt(rDouble.length)];
          break;

        case bool:
          map[key] = rBool[random.nextInt(rBool.length)];
          break;

        case String:
          map[key] = rString[random.nextInt(rString.length)];
          break;

        default:
      }
    });

问题在于,由于该类的新实例仅包含null,因此.runtimeType也是null,并且我无法基于以下内容为该类生成随机值:我必须测试的类型。

  • 如何在Flutter中获取类及其类型的每个键/值对?
  • 如何基于String内的键调用非特定的类成员? (类似于其JSON表示形式)

0 个答案:

没有答案