Behövde i dagarna xml-serialisera och deserialisera ett dictionary för att spara information på disk. Lösningen blev Adar Wesleys SerializableDictionary. När filerna är inkluderade i projektet går det använda Serializable Dictionary såhär:
Kodexempel serialisering och deserialisering av dictionary
/// <summary>
/// Loads a Serializable dictionary which holds a saved values
/// </summary>
private void LoadExistingFile()
{
SerializableDictionary<string, int> data = new SerializableDictionary<string, int>();
if (File.Exists("file.xml"))
{
XmlSerializer s = new XmlSerializer(typeof(SerializableDictionary<string, int>));
using (StreamReader sr = new StreamReader("file.xml"))
{
data = s.Deserialize(sr) as SerializableDictionary<string, int>;
}
}
}
/// <summary>
/// Saves existing KeyValuePairs to disc
/// </summary>
private void SaveDictionaryToDisc()
{
SerializableDictionary<string, int> data = new SerializableDictionary<string, int>();
XmlSerializer s = new XmlSerializer(typeof(SerializableDictionary<string, int>));
using (StreamWriter sw = new StreamWriter("file.xml"))
{
s.Serialize(sw, data);
}
}