我正在爲審計日誌記錄(誰更改什麼成員,何時)進行「深度比較」。我正在使用反射,遞歸到結構中並進行比較。儘管包含字典的人遇到了問題。「深度比較」字典
我可以通過typeof(IDictionary).IsAssignableFrom(memberType)
檢測到成員是字典。然後,我的計劃是收集這兩個對象中存在的密鑰,並繼續對這些對象進行遞歸。但是,IDictionary.Keys
是一個ICollection
,它不被LINQ擴展。不知道鑰匙的類型,我怎麼能做到這一點?
也許這種方法不是最佳的(我不是那種在泛型/反射組合中經驗豐富的),我應該以另一種方式做到這一點嗎?
你的問題與LINQ有什麼關係? – Seb 2012-01-18 15:19:13
@DavidM:只有模板版本,不是'IEnumerable'。在我的問題中說'memberType'將會是'Dictionary'。這是可以分配給'IDictionary',但據我所知,不可能做'IDictionary ',所以我卡住了與非泛型的'IDictionary'。 –
carlpett
2012-01-19 08:22:14