Dizionari "Deep Confront"
-
29-10-2019 - |
Domanda
Sto facendo un "confronto profondo" delle strutture di dati per la registrazione di audit (chi ha cambiato i membri, quando). Sto usando la riflessione per questo, ricorrendo alle strutture e confrontandole. Ho colpito un problema con quelli contenenti dizionari.
Posso rilevare che un membro è un dizionario di typeof(IDictionary).IsAssignableFrom(memberType)
. Il mio piano è quindi di raccogliere le chiavi che sono presenti in entrambi gli oggetti e continuare la ricorsione su quelli. Tuttavia, IDictionary.Keys
è un ICollection
, che non è esteso da Linq. Non conoscendo il tipo di chiavi, come potrei raggiungere questo obiettivo?
Forse questo metodo è non ottimale (non sono così esperto nella combinazione generica/riflessione), dovrei farlo in un altro modo?
Nessuna soluzione corretta