2009-08-10 60 views
1

我有一個類實現了自定義序列化的ISerializable接口。這對於該類中的屬性非常有用,但該類是派生類。我遇到的問題是基類屬性不會爲我序列化。基類具有可序列化的屬性,但不實現ISerializable。有沒有一種方法來序列化基類屬性,而不必在派生類的ISerializable .GetObjectData方法中手動添加所有這些屬性?基類屬性的自定義序列化

回答

4

MSDN

正如我所說,ISerializable接口是非常強大的,因爲它允許類型接管類型的實例如何獲得序列化和反序列化的完全控制。 這種能力需要付出代價;該類型現在負責序列化其所有基類型的字段以及。如果基類型也實現了ISerializable接口,那麼序列化基類型的字段很簡單 - 您只需調用基類型的GetObjectData方法即可。有一天,你可能會發現自己定義了一個需要控制其序列化的類型,但是其基類型沒有實現ISerializable接口。在這種情況下,你的類必須手動序列化基類型的字段。
相關問題