【问题标题】:How do I serialize a child class?如何序列化子类?
【发布时间】:2009-11-12 06:29:11
【问题描述】:

如何包含来自两个都实现可序列化的子类的序列化数据?

Class A
     Implements ISerializable
     dim _B as new B
     Class B
          Implements ISerializable
          dim _C as integer
     end class
end class

我需要能够序列化对象 B 的数据以及通过类 A 的 GetObjectData 方法序列化的数据。在我的用例中,类 A 也恰好是派生类。

【问题讨论】:

  • 我上小学的时候,他们经常让我们排成一列,让我们连载。你是这个意思吗? :-)

标签: .net serialization


【解决方案1】:

仅当您想要自定义(或扩展)正在序列化的数据时才实现 ISerializable。在两个类上都使用 System.SerializableAttribute 代码属性,它应该可以工作。

MSDN 是你的朋友:http://msdn.microsoft.com/en-us/library/4abbf6k0(VS.80).aspx

【讨论】:

  • 如果可以的话那就太好了,但在这种情况下并非如此,而且根本无法回答问题。
【解决方案2】:

如果您的意思是当您序列化类型A 时,任何B 类型的对象也会被序列化,那么这是不可能的。

为此,您需要有一种机制来跟踪创建的B 类型的对象,并且还需要某种方式来保持A 类型的对象和B 类型之间的关系。

如果AB 彼此独立使用,那么我认为没有必要这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-16
    • 2015-05-06
    • 2016-01-26
    • 1970-01-01
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多