gpt4 book ai didi

c# - 比较来自 GetValue 反射方法的两个值

转载 作者:太空狗 更新时间:2023-10-29 17:34:32 29 4
gpt4 key购买 nike

我得到 value1value2,它们都为零,因为它们不相等,而它们应该相同。

我还能如何比较这两个对象的值?

private bool CheckProjectIsUnique(
TBR.Domain.Project project,
List<UniqueProjectType> types,
out UniqueProjectType uniqueCandidate)
{
uniqueCandidate = CreateUniqueProjectType(project);

if (types.Count == 0)
return true;

foreach (UniqueProjectType type in types)
{
bool exists = true;
foreach (PropertyInfo prop in type.GetType().GetProperties())
{
var value1 = prop.GetValue(type, null);
var value2 = prop.GetValue(uniqueCandidate, null);
if (value1 != value2)
{
exists = false;
break;
}
}
if (exists)
return true;
}

return false;
}

最佳答案

它们是对象,因此您应该使用 value1.Equals(value2) 来检查 value1 是否不是 null

编辑: 更好:使用静态Object.Equals(value1, value2)(感谢@LukeH)

关于c# - 比较来自 GetValue 反射方法的两个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5338757/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com