xmlInclude 是 .NET 中用于 XML 序列化的一個重要特性,XmlInclude 的主要作用是:
比如:
1.告知 XML 序列化器可能遇到的派生類型
2.解決多態類型的序列化和反序列化問題
3.允許基類序列化時包含派生類信息
當你有基類引用指向派生類對象時,如果不使用 XmlInclude,序列化器無法知道實際類型信息,導致序列化/反序列化失敗。你會得到 InvalidOperationException,提示序列化器不知道如何處理派生類型。
InvalidOperationException: 不應是類型 ConsoleApp2.Circle。使用 XmlInclude 或 SoapInclude 特性靜態指定非已知的類型。
關鍵點說明
1.必須為所有可能的派生類添加 XmlInclude:否則反序列化時會失敗
2.適用于數組和集合:如示例中的 Shape[]
3. 與 [Serializable] 的區別:
[Serializ