「ディープ比較」辞書
-
29-10-2019 - |
質問
私は、監査ロギングのためにデータ構造の「深い比較」を行っています(どのメンバーを変更したか)。私はこのためにリフレクションを使用しており、構造に再発してそれらを比較しています。辞書を含むものに問題が発生しました。
メンバーが辞書であることを検出できます typeof(IDictionary).IsAssignableFrom(memberType)
. 。私の計画は、両方のオブジェクトに存在するキーを収集し、それらについて再帰を続けることです。でも、 IDictionary.Keys
です ICollection
, 、linqによって拡張されていません。キーの種類を知らないのに、どうすればこれを達成できますか?
たぶん、この方法は最適ではありません(私はジェネリック/リフレクションのコンボの経験があるわけではありません)、別の方法でこれを行うべきですか?
正しい解決策はありません
所属していません StackOverflow