为什么我的 .Net 对象不可序列化?

2024-05-06

我有一个继承自 System.Data.DataTable 的“MyDataTable”类

我已经在我的类中实现了 ISerialized,并且有一个“公共覆盖子 GetObjectData...”

但是,当我尝试序列化“MyDataTable”的对象时,出现错误,指出“MyDataTable”未标记为可序列化。

如果我使用 DataTable 代替 - 我的代码序列化正确。 如果我向“MyDataTable”类添加一个可序列化的属性 - 它会正确序列化,但我被告知如果我实现 ISerializable,则这是不必要的。

有人能指出我正确的方向吗?


谁告诉你没有必要添加可序列化属性 http://msdn.microsoft.com/en-us/library/system.serializableattribute.aspx是不正确的:

即使该类还实现了 ISerialized 接口,也可以应用 SerializedAttribute 属性来控制序列化过程。

并从可序列化 http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx entry (em added):

任何可能被序列化的类必须用 SerializedAttribute 进行标记。如果一个类需要控制其序列化过程,它可以实现 ISerialized 接口。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 .Net 对象不可序列化? 的相关文章

随机推荐