我已经看到了许多不同的方法来序列化C#中的对象,但我不确定使用哪种方法以及何时使用。
在当前情况下,我正在通过WCF进行公开序列化,因此我猜想[DataContract]属性是可行的方法。
目前,我正在阅读一些XML,然后通过WCF公开结果对象。因此,我正在对无法访问原始类的XML进行反序列化(因此,我将重建该类并可以根据需要使用任何方式实现序列化)。然后必须为WCF序列化。
但是,如果[DataContract]适合这种情况,那为什么我不一直使用它而不是ISerializable或[Serializable]属性呢?
一个问题中涉及了两个问题,为什么要使用这个问题,以及为什么有不同的序列化方法。
最佳答案
DataContract是开始进行基本序列化的好地方。但是,如果要精确控制对象的序列化方式,请使用ISerializable接口。同样,数据协定属性不会被继承,但是ISerializable将
从.net 1.1开始,ISerializable就已经存在了。 .net 3.0中引入了DataContract,以简化大多数情况下的序列化。
关于c# - 在C#中实现可序列化类的首选方法是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3884303/