.NET字典类除了您描述的方法之外,不会序列化任何其他方法。但是,如果您创建自己的类并包装字典类,则可以覆盖序列化/反序列化方法,并能够执行所需的操作。请参见下面的示例,并注意“
GetObjectData”方法。
[Serializable] public class AjaxDictionary<TKey, TValue> : ISerializable { private Dictionary<TKey, TValue> _Dictionary; public AjaxDictionary() { _Dictionary = new Dictionary<TKey, TValue>(); } public AjaxDictionary( SerializationInfo info, StreamingContext context ) { _Dictionary = new Dictionary<TKey, TValue>(); } public TValue this[TKey key] { get { return _Dictionary[key]; } set { _Dictionary[key] = value; } } public void Add(TKey key, TValue value) { _Dictionary.Add(key, value); } public void GetObjectData( SerializationInfo info, StreamingContext context ) { foreach( TKey key in _Dictionary.Keys ) info.AddValue( key.ToString(), _Dictionary[key] ); } }


