开发中经常碰到要序列化Dictionary对象,但Dictionary类本身不支持序列化,所需要继承Dictionary类并实现IXmlSerializable接口。
代码:
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;

namespace Lmsoft.Collections.Generic
{
/// <summary>
/// 支持XML序列化的泛型Dictionary类
/// </summary>
/// <typeparam name="TKey"></typeparam>
/// <typeparam name="TValue"></typeparam>
[XmlRoot("Dictionary")]
public class SerializableDictionary<TKey, TValue>
: Dictionary<TKey, TValue>, IXmlSerializable
{
构造函数,调用基类的构造函数

IXmlSerializable 接口的实现
}
}
代码:
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
namespace Lmsoft.Collections.Generic
{
/// <summary>
/// 支持XML序列化的泛型Dictionary类
/// </summary>
/// <typeparam name="TKey"></typeparam>
/// <typeparam name="TValue"></typeparam>
[XmlRoot("Dictionary")]
public class SerializableDictionary<TKey, TValue>
: Dictionary<TKey, TValue>, IXmlSerializable
{
构造函数,调用基类的构造函数
IXmlSerializable 接口的实现
}
}
本文介绍了一种通过继承Dictionary类并实现IXmlSerializable接口的方法,来实现Dictionary对象的XML序列化。此方法适用于需要将Dictionary对象保存为XML文件或在网络间传输的场景。


430

被折叠的 条评论
为什么被折叠?



