我有一个完整的实体类列表,我需要进行Serializable(由于在SQL中存储会话状态,但这是另一个故事).
我添加了属性[Serializable],一切似乎没问题.
我的所有实体类都从同一个基类扩展而来.如果我将基类标记为Serializable,这是否意味着所有的孩子也被标记为Serializable?
谢谢
lub*_*sko 39
不,属性不是继承的.
扩展类时,可能会添加可能无法自行序列化的功能,因此.NET框架无法为您假设扩展可序列化基类的所有内容也是可序列化的.
这就是为什么你必须[Serializable]单独明确地声明每个类的属性.
不,每个人都必须具体标记为[Serializable].
此外,如果您打算将对象序列化为派生类型的XML,就好像它是基本类型一样,您还需要一个[XmlInclude]属性.
例如:
[Serializable]
public class BaseClass : ParentClass
{
}
[Serializable]
[XmlInclude(typeof(BaseClass))]
public class ParentClass
{
}
Run Code Online (Sandbox Code Playgroud)
(二进制序列化,就像用于会话的那样,不需要这个)
| 归档时间: |
|
| 查看次数: |
9132 次 |
| 最近记录: |