有点难,反射相比较两个数据类

来源:互联网  时间:2016/6/25 7:22:56

关于网友提出的“ 有点难,反射相比较两个数据类”问题疑问,本网通过在网上对“ 有点难,反射相比较两个数据类”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 有点难,反射相比较两个数据类
描述:

本帖最后由 zj_2009 于 2012-08-29 10:24:17 编辑

需求:日志记录两个类的不同值。   两个相同的Product 类(B是A的子类), 我要将两个Product类全部的属性值,包括它的全部子类的属性一一相比较,看看这两个Product类中哪些属性的值不同,然后将不同的属性以及它的值通过字符串或者其他方式返回。 最好Product类的属性上有特性,标识该属性名称及是否比较,这样记录的时候更方便一些。
比如: class A {  public string name ; public list lstinfo;  }
class B{ public string InfoName; } 注意: 访方法是通用的,数据类型不单单是Product 类, 应该要通过反射来完成。
解决方案1:

 反射遍历下就行了 list集合我感觉 没必要在深究 因为就算是都叫LIST XX的命名空间也不不一样的所以可以直接列出来用不着递归只要一级就行了

解决方案2:

是啊,得用反射,而且需要递归。 有些属性还不好比较,比如list集合,怎么样才算相同呢? 所以把这个做成“通用”根本不是好的设计。 你应该让能比较的类去实现IEquatable接口,告诉调用者,这是可以比较的。并且明确比较的规则。

上一篇ASPNET新手求教!!!只有20分,都给了!
下一篇如何在C#中访问JavaScript的已有变量?
明星图片
相关文章
《 有点难,反射相比较两个数据类》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)