Esempio n. 1
0
 public ModelEnum()
 {
     name           = string.Empty;
     nameSpace      = string.Empty;
     underlyingType = ModelEnumUnderlyingType.Int32;
     attributes     = new MetaAttributeCollection();
     editor         = null;
     parentModel    = null;
     extended       = new Dictionary <Type, ModelEnumExtension>();
 }
Esempio n. 2
0
        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();
        }