[Serialized] 属性有哪些 ISerialized 没有的功能? [复制]

2024-02-22

可能的重复:
使用 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(使用前将#替换为@)

[Serialized] 属性有哪些 ISerialized 没有的功能? [复制] 的相关文章

随机推荐