」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > .NET 2.0中如何序列化含字典成員的類?

.NET 2.0中如何序列化含字典成員的類?

發佈於2025-04-13
瀏覽:681

.NET 2.0下包含字典成員類的序列化方法

本文擴展了之前一個關於序列化包含字典成員類的問題的討論。該類包含三個屬性:guiPathconfigPathmappedDrivesmappedDrives是一個字典,用於映射驅動器字母到網絡路徑。

然而,在序列化或反序列化該類時,用戶會收到以下錯誤:

無法序列化成員 App.Configfile.mappedDrives

此錯誤發生是因為某種原因,.NET 2.0 中的泛型字典不可 XML 序列化。

解決方案

為了解決這個問題,用戶可以使用自定義的可序列化字典類。 Paul Welter在他的博客上提供了一個這樣的類:

using System;
using System.Collections.Generic;
using System.Text;
using System.Xml.Serialization;

[XmlRoot("dictionary")]
public class SerializableDictionary : Dictionary, IXmlSerializable
{
    // 部分代码省略 ...
}

此類實現了 IXmlSerializable 接口,允許它被序列化和反序列化。然後,用戶可以在其主類中使用此自定義字典類:

// ...

public Dictionary mappedDrives = new SerializableDictionary();

// ...

這樣應該允許該類正確地序列化和反序列化。

How to Serialize a Class with a Dictionary Member in .NET 2.0?

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3