如何序列化包含私有成员的类的实例?

Vay*_*age 5 c# silverlight serialization windows-phone-7

我想将一个类的实例序列化为IsolatedStorage.我试过SharpSerialiser,但它只能序列化公共属性.但我的类有私有成员(没有属性),静态成员等.DataContractSerializer我认为我们只能序列化公共成员那么有什么方法可以序列化吗?

谢谢和关心vaysage

Mar*_*ell 6

Silverlight具有更严格的反射安全模型,并且不支持用于绕过此功能的常用技巧.AFAIK,您仅限于公众成员.

您当然可以使对象自行序列化,可能通过自定义接口和代码生成到部分类(以避免手动实现).

然而,IMO更好的方法是创建一个辅助DTO类模型; 这是可变的,并具有公共性getset.大多数序列化程序都会对此感到满意,并且您始终可以在DTO模型和主对象模型之间提供转换运算符.


Der*_*kin 6

我更喜欢自定义二进制序列化,它确保您只序列化您实际需要的内容,是最快的序列化方法,并使您能够在必要时序列化私有成员.Kevin Marshall有一个很好的序列化比较帖子,涵盖了选项并提供了性能数据:http://blogs.claritycon.com/kevinmarshall/2010/11/03/wp7-serialization-comparison/