【发布时间】:2011-09-13 03:51:47
【问题描述】:
Java 在他的标准库中提供了java.io.Serializable 和java.lang.Cloneable(并在语言和 JVM 中提供了对它的特殊支持)用于反序列化/序列化/克隆的任务。
C# 是否选择了不同的路径来提供此功能,使用它的实现和代码与 Java 有何不同,为什么这样做?
举个例子,为什么C#同时使用属性(注解)和接口进行序列化?
【问题讨论】:
-
C# 提供了许多序列化选项——例如
ISerializable(标记),或[DataContract]和[Serializable](属性)等。所有情况都要求序列化程序知道如何“读取”那种类/对象,但从根本上讲,它并没有太大的不同。
标签: c# java serialization language-design cloneable