¿Cuál es el algoritmo utilizado por la prueba de igualdad de miembros en las estructuras .NET?

¿Cuál es el algoritmo utilizado por la prueba de igualdad de miembros en las estructuras .NET? Me gustaría saber esto para poder usarlo como la base de mi propio algoritmo.

Estoy tratando de escribir una prueba de igualdad recursiva de miembros para objetos arbitrarios (en C #) para probar la igualdad lógica de DTO. Esto es considerablemente más fácil si los DTO son estructuras (ya que ValueType.Equals hace principalmente lo correcto) pero eso no siempre es apropiado. También me gustaría anular la comparación de cualquier objeto IEnumerable (¡pero no cadenas!) Para que sus contenidos se comparen en lugar de sus propiedades.

Esto ha demostrado ser más difícil de lo que esperaba. Cualquier consejo será muy apreciado. Aceptaré la respuesta que resulte más útil o proporcionará un enlace a la información más útil.

Gracias.

Respuestas a la pregunta(5)

Su respuesta a la pregunta