¿Cómo verificar rápidamente si dos objetos de transferencia de datos tienen propiedades iguales en C #?
Tengo estos objetos de transferencia de datos:
public class Report
{
public int Id { get; set; }
public int ProjectId { get; set; }
//and so on for many, many properties.
}
No quiero escribir
public bool areEqual(Report a, Report b)
{
if (a.Id != b.Id) return false;
if (a.ProjectId != b.ProjectId) return false;
//Repeat ad nauseum
return true;
}
¿Existe una forma más rápida de probar si dos objetos con solo propiedades tienen los mismos valores (algo que no requiere una línea de código o una expresión lógica por propiedad?)
Cambiar a estructuras no es una opción.