public ModelEnum() { name = string.Empty; nameSpace = string.Empty; underlyingType = ModelEnumUnderlyingType.Int32; attributes = new MetaAttributeCollection(); editor = null; parentModel = null; extended = new Dictionary <Type, ModelEnumExtension>(); }
public ModelEnum(XmlTextReader r, string version) : this() { if (r.Name != "EnumObject") { throw new Exception(string.Format("Cannot load, expected " + "EnumObject, found '{0}'.", r.Name)); } r.MoveToAttribute("Name"); name = r.Value; r.MoveToAttribute("NameSpace"); nameSpace = r.Value; r.MoveToContent(); r.Read(); underlyingType = (ModelEnumUnderlyingType) Enum.Parse(typeof(ModelEnumUnderlyingType), r.ReadElementString("UnderlyingType")); if (r.Name == "EnumItems" && !r.IsEmptyElement) { r.Read(); while (r.LocalName == "EnumItem" && !r.IsEmptyElement) { items.Add(new EnumItem(r, version)); } r.ReadEndElement(); } if (r.Name == "MetaAttributes") { if (!r.IsEmptyElement) { r.Read(); while (r.LocalName == "MetaAttribute") { attributes.Add(new MetaAttribute(r)); } r.ReadEndElement(); } else { r.Read(); } } if (r.Name == "Extensions") { if (!r.IsEmptyElement) { r.Read(); while (r.Name == "Extension") { ModelEnumExtension newExtension = (ModelEnumExtension) ObjectExtension.Build(r, version); extended.Add(newExtension.GetType(), newExtension); } r.ReadEndElement(); } else { r.Read(); } } r.ReadEndElement(); }