public void StreamFromXml(IO.XmlStream s) { int set_id = -1; string set_name = null; s.ReadAttribute("key", 10, ref set_id); s.ReadAttributeOpt("value", ref set_name); Id = set_id; Name = set_name ?? kDefaultName; InitializeSets(s.Cursor.ChildNodes.Count); foreach (System.Xml.XmlNode n in s.Cursor.ChildNodes) { if (n.Name != "entry") { continue; } uint val_id = 0; string val = null; s.SaveCursor(n as System.Xml.XmlElement); s.ReadAttribute("key", 16, ref val_id); s.ReadAttributeOpt("value", ref val); s.RestoreCursor(); // If the definition didn't specify the value, generate a generic value as a placeholder if (val == null) { val = string.Format("{0}{1}", kDefaultValuePrefix, val_id.ToString("X8")); } StringId sid = new StringId(Definition.Description, val_id); Set.Add(sid, val); SetLookup.Add(val.GetHashCode(), sid); } }
public void Add(StringId sid, string value) { Set.Add(sid, value); SetLookup.Add(value.GetHashCode(), sid); }