1
使用參考... http://weblogs.asp.net/pwelter34/archive/2006/05/03/444961.aspx我有一個可串行化的通用字典。'半'通用字典序列化。 (C#)
我想要做的一件事就是將鍵添加到值的屬性節點(僅僅因爲它是我想要的格式)。密鑰通常只是一個字符串。有什麼辦法迫使班級堅持這個嗎?它告訴我TKey不能從read.GetAttribute(「Key」);在Value節點上。
while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
{
reader.ReadStartElement("Entry");
reader.ReadStartElement("Key");
//TKey key = (TKey)keySerializaer.Deserialize(reader);
reader.ReadEndElement();
reader.ReadStartElement("Value");
TKey key = reader.GetAttribute("Name");
TValue value = (TValue)valueSerializer.Deserialize(reader);
reader.ReadEndElement();
this.Add(key, value); reader.ReadEndElement(); reader.MoveToContent();
}
同樣,corrosponding '中WriteXML' ......
writer.WriteStartElement("Entry");
writer.WriteStartElement("Key");
keySerializaer.Serialize(writer, key);
writer.WriteEndElement();
writer.WriteStartElement("Value");
writer.WriteAttributeString("Name", key.ToString());
TValue value = this[key];
valueSerializer.Serialize(writer, value);
writer.WriteEndElement();
writer.WriteEndElement();