【发布时间】:2015-08-06 14:25:18
【问题描述】:
最近,我遇到了在 C# 中比较同一类的 2 个对象的问题。我需要知道更改了哪些字段/属性。
示例如下:
SampleClass
{
string sampleField1;
int sampleField2;
CustomClass sampleField3;
}
例如,我有 2 个SampleClass 对象,object1 和 object2。
这两个对象有一些不同的字段值。
谁能知道获取哪些字段不同的最佳方法?
以及如何获取不同字段/属性的(字符串)名称?
- 我听说过 .Net 中的反射。这是在这种情况下最好的方法吗?
- 如果我们没有 CustomClass 字段呢? (我只是将此字段用于更通用的方法,在我的情况下该字段不存在)
【问题讨论】:
-
在一般情况下:有办法通过反射或元编程来做到这一点,但没有内置
-
这是一个奇怪的要求。好吧,你为什么不喜欢
if(object1.sampleField1 != object2.sampleField1) { ... }? -
感谢您提供信息@Marc Gravell :)
-
谢谢拉胡尔,我需要得到不同的值的字符串名称。