我有两种对象状态,我想比较初始状态和最终状态。我通过反射捕获特定状态的所有注释属性,我想比较这两种状态以检查它们是否相等。我尝试一下,但我相信它的效率更低——它不起作用:D。
private static bool areSame(IEnumerable<PropertyInfo> initial,IEnumerable<PropertyInfo> final)
{
foreach (PropertyInfo initialPropertyInfo in initial)
{
foreach (PropertyInfo finalPropertyInfo in final)
{
if (initialPropertyInfo.Name == finalPropertyInfo.Name)
{
if (initialPropertyInfo.GetValue(initialViewModel) != finalPropertyInfo.GetValue(finalViewModel))
// Console.WriteLine(initialPropertyInfo.GetValue(initialViewModel));
return false;
}
}
}
return true;
}
//最终和初始视图模型是我从中提取属性的对象,它们是对象类型。