Kayıtlar

Serialization etiketine sahip yayınlar gösteriliyor

XML'e serialize edilebilen Generic Dictionary

IDictionary interface'ini kullanan Dictionary,Hashtable gibi class'lardan oluşturduğunuz instance'ları xml'e serialize ettiğinizde malesef sorunlar çıkıyo. Bunun için güzel bir çözüm yazılmış. using System; using System.Collections.Generic; using System.Text; using System.Xml.Serialization; [XmlRoot("dictionary")] public class SerializableDictionary : Dictionary , IXmlSerializable { #region IXmlSerializable Members public System.Xml.Schema.XmlSchema GetSchema() { return null; } public void ReadXml(System.Xml.XmlReader reader) { XmlSerializer keySerializer = new XmlSerializer(typeof(TKey)); XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue)); bool wasEmpty = reader.IsEmptyElement; reader.Read(); if (wasEmpty) return; while (reader.NodeType != System.Xml.XmlNodeType.EndElement) { reader.ReadStartElement("item"); reader.ReadStartElement("key"); TKey key = (TKey)keySerializer.Deserialize(reader); reader.ReadEndElement(); reader.R...