Pregunta

Estoy haciendo "comparación profunda" de las estructuras de datos para el registro de auditorías (quién cambió qué miembros, cuándo). Estoy usando la reflexión para esto, recurriendo en las estructuras y comparándolas. Sin embargo, he tocado un problema con los que contienen diccionarios.

Puedo detectar que un miembro es un diccionario de typeof(IDictionary).IsAssignableFrom(memberType). Mi plan es luego recolectar las claves que están presentes en ambos objetos y continuar la recursión en ellos. Sin embargo, IDictionary.Keys es un ICollection, que no se extiende por Linq. Sin saber el tipo de claves, ¿cómo podría lograr esto?

Tal vez este método es subóptimo (no tengo tan experiencia en el combo de genéricos/reflexión), ¿debería hacer esto de otra manera?

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top