1.Dictionary对象本身不支持序列化和反序列化,需要定义一个继承自Dictionary, IXmlSerializable类的自定义类来实现该功能。
2.SerializableDictionary自定义类
/// <summary>
/// 可序列化的Dictionary
/// </summary>
[Serializable]
public class SerializableDictionary<TKey, TValue> : Dictionary<TKey, TValue>, IXmlSerializable
{
Type KeyType = typeof(TKey);
Type ValueType = typeof(TValue);
public SerializableDictionary() {
}
public void WriteXml(XmlWriter write)
{
XmlSerializer KeySerializer = new XmlSerializer(KeyType);
XmlSerializer ValueSerializer = new XmlSerializer(ValueType);
foreach (KeyValuePair<TKey, TValue> kv in