Dictionnaires «comparer»
-
29-10-2019 - |
Question
Je fais une "comparaison profonde" des structures de données pour la journalisation d'audit (qui a changé ce que les membres, quand). J'utilise la réflexion pour cela, je me reproche dans les structures et à les comparer. J'ai cependant touché un problème avec ceux qui contiennent des dictionnaires.
Je peux détecter qu'un membre est un dictionnaire par typeof(IDictionary).IsAssignableFrom(memberType)
. Mon plan est alors de collecter les clés qui sont présentes dans les deux objets et de continuer la récursivité sur celles-ci. Cependant, IDictionary.Keys
est un ICollection
, qui n'est pas étendu par linq. Ne connaissant pas le type des clés, comment pourrais-je y parvenir?
Peut-être que cette méthode est sous-optimale (je ne suis pas si expérimenté dans le combo générique / réflexion), devrais-je le faire d'une autre manière?
Pas de solution correcte