可能的重复:
使用 Serialized 属性和实现 ISerialized 之间有什么区别? https://stackoverflow.com/questions/2365152/whats-the-difference-between-using-the-serializable-attribute-implementing-is
标记 a 是什么意思class http://msdn.microsoft.com/en-us/library/system.collections.hashtable.aspx with Serializable http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx做?例如。:
[Serializable]
public Hashtable
{
}
它与class http://msdn.microsoft.com/en-us/library/system.collections.hashtable.aspx实施ISerializable http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx? e.g.:
public Hashtable : ISerializable
{
}
怎么样?that与标记不同class http://msdn.microsoft.com/en-us/library/system.collections.hashtable.aspx as 可串行化 http://msdn.microsoft.com/en-us/library/system.serializableattribute.aspx并实施ISerializable http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx? e.g.:
[Serializable]
public Hashtable : ISerializable
{
}
目的是什么[Serializable]
相对于ISerializable
?
tl;dr: 什么是[Serializable]
?
我以为你已经链接到可串行化 http://msdn.microsoft.com/en-us/library/system.serializableattribute.aspx,但你没有:
类型中由 标记的所有公共和私有字段SerializableAttribute
默认情况下是序列化的,除非该类型实现了ISerializable
接口来覆盖序列化过程。
and,
应用SerializableAttribute
属性,即使该类也实现了ISerializable
界面 [...]
那就是Serializable
属性表明该类型can被连载。ISerializable
表示该类型要控制how这种类型是序列化的。
或者,换句话说,你的问题的措辞是错误的。SerializableAttribute
should always被应用(到可序列化的类),并且是序列化的“基本”级别。ISerializable
添加更多(通过允许您编写代码来控制流程)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)