枚举Dart中两个对象之间的不同字段

枚举Dart中两个对象之间的不同字段,dart,Dart,假设我有一门课: class Person { final String name; final int age; final DateTime created; final List<Pet> pets; } 班级人员{ 最后的字符串名; 最终积分; 创建的最终日期时间; 最终宠物名单; } 在Dart中,如何列出两个实例之间不同的所有字段,例如“原始”和“更新”实例之间的字段?我只需要对每个字段(包括收集字段)(例如宠物)进行浅层(=)检查。添

假设我有一门课:

class Person {
    final String name;
    final int age;
    final DateTime created;
    final List<Pet> pets;
}
班级人员{
最后的字符串名;
最终积分;
创建的最终日期时间;
最终宠物名单;
}
在Dart中,如何列出两个实例之间不同的所有字段,例如“原始”和“更新”实例之间的字段?我只需要对每个字段(包括收集字段)(例如宠物)进行浅层(
=
)检查。

添加此功能

 class Person {
  String name;
  int age;
  List<Pet> pets;

  void enumerateDifferences(Person other) {
    if (this.name != other.name) {
      print("Name is different");
    } else if (this.age != other.age) {
      print("Age is different");
    } else if (pets != other.pets) {
      //If shallow compare
      print("Pets is differenct");
    }
  }
}
班级人员{
字符串名;
智力年龄;
列出宠物名单;
无效(其他人){
if(this.name!=其他.name){
打印(“名称不同”);
}else if(this.age!=其他.age){
印刷品(“年龄不同”);
}else if(宠物!=其他宠物){
//若浅比较
打印(“宠物不同”);
}
}
}

是否有“反射”方法?导入“省道:镜子”;这是颤振中唯一不可用的库。阅读这篇文章