序列化程序中的步驟
在格式子上呼叫 Serialize 方法時,物件序列化會按照下列規則順序繼續進行:
進行檢查以判斷格式子是否有代理選取器。若格式子有代理選取器,檢查代理選取器是否處理指定型別的物件。若選取器可處理物件型別,會對代理選取器呼叫 ISerializable.GetObjectData。
若無代理選取器,或它不處理物件型別,則檢查以判斷物件是否以 Serializable 屬性標記。若物件未以該屬性標記,會擲回 SerializationException。
若物件有適當地標記,檢查物件是否實作 ISerializable 介面。若物件實作,會對物件呼叫 GetObjectData。
若物件未實作 ISerializable,且使用預設序列化原則,則會序列化所有未標記為 NonSerialized 的欄位。