What does tagging a class Serializable 有关系吗?例如。:

[Serializable]
public Hashtable
{
}

它与实现 class ISerializable 有何不同?例如。:
public Hashtable : ISerializable
{
}

这与将 class 标记为 Serializable 并实现 ISerializable 有何不同?例如。:
[Serializable]
public Hashtable : ISerializable
{
}

[Serializable] 相比, ISerializable 的目的是什么?

tl; 博士:什么是 [Serializable]

最佳答案

我以为你已经链接到 Serializable ,但你没有:



和,



Serializable 属性表示该类型可以序列化。 ISerializable 表示这个类型想要控制这个类型的序列化方式。

或者,换句话说,您的问题措辞错误。 SerializableAttribute 应始终应用于(可序列化类),并且是序列化的“基本”级别。 ISerializable 增加了更多(通过允许您编写代码来控制过程)。

关于c# - [Serializable] 属性有什么作用而 ISerializable 没有?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8594957/

10-10 18:39