void WriteObject_AddinProperty(Mono.Addins.Description.AddinProperty ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
        {
            if (((object)ob) == null)
            {
                if (isNullable)
                {
                    WriteNullTagLiteral(element, namesp);
                }
                return;
            }

            System.Type type = ob.GetType();
            if (type == typeof(Mono.Addins.Description.AddinProperty))
            {
            }
            else
            {
                throw CreateUnknownTypeException(ob);
            }

            if (writeWrappingElem)
            {
                WriteStartElement(element, namesp, ob);
            }

            if (needType)
            {
                WriteXsiType("AddinProperty", "");
            }

            WriteAttribute("name", "", ob.@Name);
            WriteAttribute("locale", "", ob.@Locale);

            WriteValue(ob.@Value);
            if (writeWrappingElem)
            {
                WriteEndElement(ob);
            }
        }
        public Mono.Addins.Description.AddinProperty ReadObject_AddinProperty(bool isNullable, bool checkType)
        {
            Mono.Addins.Description.AddinProperty ob = null;
            if (isNullable && ReadNull())
            {
                return(null);
            }

            if (checkType)
            {
                System.Xml.XmlQualifiedName t = GetXsiType();
                if (t == null)
                {
                }
                else if (t.Name != "AddinProperty" || t.Namespace != "")
                {
                    throw CreateUnknownTypeException(t);
                }
            }

            ob = (Mono.Addins.Description.AddinProperty)Activator.CreateInstance(typeof(Mono.Addins.Description.AddinProperty), true);

            Reader.MoveToElement();

            while (Reader.MoveToNextAttribute())
            {
                if (Reader.LocalName == "name" && Reader.NamespaceURI == "")
                {
                    ob.@Name = Reader.Value;
                }
                else if (Reader.LocalName == "locale" && Reader.NamespaceURI == "")
                {
                    ob.@Locale = Reader.Value;
                }
                else if (IsXmlnsAttribute(Reader.Name))
                {
                }
                else
                {
                    UnknownNode(ob);
                }
            }

            Reader.MoveToElement();
            Reader.MoveToElement();
            if (Reader.IsEmptyElement)
            {
                Reader.Skip();
                return(ob);
            }

            Reader.ReadStartElement();
            Reader.MoveToContent();


            while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
            {
                if (Reader.NodeType == System.Xml.XmlNodeType.Element)
                {
                    UnknownNode(ob);
                }
                else if (Reader.NodeType == System.Xml.XmlNodeType.Text || Reader.NodeType == System.Xml.XmlNodeType.CDATA)
                {
                    ob.@Value = ReadString(ob.@Value);
                }
                else
                {
                    UnknownNode(ob);
                }

                Reader.MoveToContent();
            }

            ReadEndElement();

            return(ob);
        }