Obtengo value1
y value2
que son cero como iguales cuando deberían ser iguales.Comparando dos valores del método de reflexión GetValue
¿De qué otra manera puedo comparar los valores de estos 2 objetos?
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;
}
O usar que 'Object.equals estáticos (valor1, valor2)' método que se encargará de la nula comprobación para usted. – LukeH