private ClassMetadata Read35_ClassMetadata(bool isNullable, bool checkType) { XmlQualifiedName type = checkType ? base.GetXsiType() : null; bool flag = false; if (isNullable) { flag = base.ReadNull(); } if ((checkType && (type != null)) && ((type.Name != this.id3_ClassMetadata) || (type.Namespace != this.id2_Item))) { throw base.CreateUnknownTypeException(type); } if (flag) { return null; } ClassMetadata o = new ClassMetadata(); bool[] flagArray = new bool[8]; while (base.Reader.MoveToNextAttribute()) { if ((!flagArray[5] && (base.Reader.LocalName == this.id109_CmdletAdapter)) && (base.Reader.NamespaceURI == this.id4_Item)) { o.CmdletAdapter = base.Reader.Value; flagArray[5] = true; } else { if ((!flagArray[6] && (base.Reader.LocalName == this.id110_ClassName)) && (base.Reader.NamespaceURI == this.id4_Item)) { o.ClassName = base.Reader.Value; flagArray[6] = true; continue; } if ((!flagArray[7] && (base.Reader.LocalName == this.id111_ClassVersion)) && (base.Reader.NamespaceURI == this.id4_Item)) { o.ClassVersion = base.Reader.Value; flagArray[7] = true; continue; } if (!base.IsXmlnsAttribute(base.Reader.Name)) { base.UnknownNode(o, ":CmdletAdapter, :ClassName, :ClassVersion"); } } } base.Reader.MoveToElement(); if (base.Reader.IsEmptyElement) { base.Reader.Skip(); return o; } base.Reader.ReadStartElement(); base.Reader.MoveToContent(); int whileIterations = 0; int readerCount = base.ReaderCount; while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None)) { if (base.Reader.NodeType == XmlNodeType.Element) { if ((!flagArray[0] && (base.Reader.LocalName == this.id112_Version)) && (base.Reader.NamespaceURI == this.id2_Item)) { o.Version = base.Reader.ReadElementString(); flagArray[0] = true; } else if ((!flagArray[1] && (base.Reader.LocalName == this.id113_DefaultNoun)) && (base.Reader.NamespaceURI == this.id2_Item)) { o.DefaultNoun = base.Reader.ReadElementString(); flagArray[1] = true; } else if ((!flagArray[2] && (base.Reader.LocalName == this.id114_InstanceCmdlets)) && (base.Reader.NamespaceURI == this.id2_Item)) { o.InstanceCmdlets = this.Read31_ClassMetadataInstanceCmdlets(false, true); flagArray[2] = true; } else if ((base.Reader.LocalName == this.id115_StaticCmdlets) && (base.Reader.NamespaceURI == this.id2_Item)) { if (!base.ReadNull()) { StaticCmdletMetadata[] a = null; int index = 0; if (base.Reader.IsEmptyElement) { base.Reader.Skip(); } else { base.Reader.ReadStartElement(); base.Reader.MoveToContent(); int num4 = 0; int num5 = base.ReaderCount; while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None)) { if (base.Reader.NodeType == XmlNodeType.Element) { if ((base.Reader.LocalName == this.id76_Cmdlet) && (base.Reader.NamespaceURI == this.id2_Item)) { a = (StaticCmdletMetadata[]) base.EnsureArrayIndex(a, index, typeof(StaticCmdletMetadata)); a[index++] = this.Read33_StaticCmdletMetadata(false, true); } else { base.UnknownNode(null, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:Cmdlet"); } } else { base.UnknownNode(null, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:Cmdlet"); } base.Reader.MoveToContent(); base.CheckReaderCount(ref num4, ref num5); } base.ReadEndElement(); } o.StaticCmdlets = (StaticCmdletMetadata[]) base.ShrinkArray(a, index, typeof(StaticCmdletMetadata), false); } } else if ((base.Reader.LocalName == this.id116_CmdletAdapterPrivateData) && (base.Reader.NamespaceURI == this.id2_Item)) { if (!base.ReadNull()) { ClassMetadataData[] dataArray = null; int num6 = 0; if (base.Reader.IsEmptyElement) { base.Reader.Skip(); } else { base.Reader.ReadStartElement(); base.Reader.MoveToContent(); int num7 = 0; int num8 = base.ReaderCount; while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None)) { if (base.Reader.NodeType == XmlNodeType.Element) { if ((base.Reader.LocalName == this.id78_Data) && (base.Reader.NamespaceURI == this.id2_Item)) { dataArray = (ClassMetadataData[]) base.EnsureArrayIndex(dataArray, num6, typeof(ClassMetadataData)); dataArray[num6++] = this.Read34_ClassMetadataData(false, true); } else { base.UnknownNode(null, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:Data"); } } else { base.UnknownNode(null, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:Data"); } base.Reader.MoveToContent(); base.CheckReaderCount(ref num7, ref num8); } base.ReadEndElement(); } o.CmdletAdapterPrivateData = (ClassMetadataData[]) base.ShrinkArray(dataArray, num6, typeof(ClassMetadataData), false); } } else { base.UnknownNode(o, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:Version, http://schemas.microsoft.com/cmdlets-over-objects/2009/11:DefaultNoun, http://schemas.microsoft.com/cmdlets-over-objects/2009/11:InstanceCmdlets, http://schemas.microsoft.com/cmdlets-over-objects/2009/11:StaticCmdlets, http://schemas.microsoft.com/cmdlets-over-objects/2009/11:CmdletAdapterPrivateData"); } } else { base.UnknownNode(o, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:Version, http://schemas.microsoft.com/cmdlets-over-objects/2009/11:DefaultNoun, http://schemas.microsoft.com/cmdlets-over-objects/2009/11:InstanceCmdlets, http://schemas.microsoft.com/cmdlets-over-objects/2009/11:StaticCmdlets, http://schemas.microsoft.com/cmdlets-over-objects/2009/11:CmdletAdapterPrivateData"); } base.Reader.MoveToContent(); base.CheckReaderCount(ref whileIterations, ref readerCount); } base.ReadEndElement(); return o; }
private void Write35_ClassMetadata(string n, string ns, ClassMetadata o, bool isNullable, bool needType) { if (o == null) { if (isNullable) { base.WriteNullTagLiteral(n, ns); } } else { if (!needType && !(o.GetType() == typeof(ClassMetadata))) { throw base.CreateUnknownTypeException(o); } base.WriteStartElement(n, ns, o, false, null); if (needType) { base.WriteXsiType("ClassMetadata", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11"); } base.WriteAttribute("CmdletAdapter", "", o.CmdletAdapter); base.WriteAttribute("ClassName", "", o.ClassName); base.WriteAttribute("ClassVersion", "", o.ClassVersion); base.WriteElementString("Version", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", o.Version); base.WriteElementString("DefaultNoun", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", o.DefaultNoun); this.Write31_ClassMetadataInstanceCmdlets("InstanceCmdlets", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", o.InstanceCmdlets, false, false); StaticCmdletMetadata[] staticCmdlets = o.StaticCmdlets; if (staticCmdlets != null) { base.WriteStartElement("StaticCmdlets", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", null, false); for (int i = 0; i < staticCmdlets.Length; i++) { this.Write33_StaticCmdletMetadata("Cmdlet", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", staticCmdlets[i], false, false); } base.WriteEndElement(); } ClassMetadataData[] cmdletAdapterPrivateData = o.CmdletAdapterPrivateData; if (cmdletAdapterPrivateData != null) { base.WriteStartElement("CmdletAdapterPrivateData", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", null, false); for (int j = 0; j < cmdletAdapterPrivateData.Length; j++) { this.Write34_ClassMetadataData("Data", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", cmdletAdapterPrivateData[j], false, false); } base.WriteEndElement(); } base.WriteEndElement(o); } }