目前我正在创建一个DTO
对象来比较新旧值。当它是一个对象时它很好,但将来它会改变。我尝试为extension method
和serialize
创建一个深层副本,但deserialize
正在抛出错误。
类型 ' PostSharp.Patterns.Model.NotifyPropertyChanged.ChangeTracking.ChildPropertyChangedProcessor' 在Assembly' PostSharp.Patterns.Model,Version = 4.2.28.0, Culture = neutral,PublicKeyToken = e7f631e6ce13f078'未标记为 序列化。 (SerializationException)
这是我的扩展方法,错误发生在PostSharp
。
formatter.Serialize(stream, source)
有没有办法解决这个错误,还是我必须以另一种方式做到这一点?如果我必须找到另一种方法,我应该采取什么方法?
答案 0 :(得分:2)
您也可以使用AutoMapper :(无论如何,每个应用都应该使用它,那么有什么危害呢?)
df1, df2, .., df100
答案 1 :(得分:1)
对基于反射的深度对象图比较库有很多参考; https://github.com/GregFinzer/Compare-Net-Objects作为示例应该在没有序列化的情况下执行您想要的操作