private GetCmdletParameters Read18_GetCmdletParameters(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.id6_GetCmdletParameters) || (type.Namespace != this.id2_Item))) { throw base.CreateUnknownTypeException(type); } if (flag) { return null; } GetCmdletParameters o = new GetCmdletParameters(); bool[] flagArray = new bool[4]; while (base.Reader.MoveToNextAttribute()) { if ((!flagArray[3] && (base.Reader.LocalName == this.id96_DefaultCmdletParameterSet)) && (base.Reader.NamespaceURI == this.id4_Item)) { o.DefaultCmdletParameterSet = base.Reader.Value; flagArray[3] = true; } else if (!base.IsXmlnsAttribute(base.Reader.Name)) { base.UnknownNode(o, ":DefaultCmdletParameterSet"); } } 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 ((base.Reader.LocalName == this.id106_QueryableProperties) && (base.Reader.NamespaceURI == this.id2_Item)) { if (!base.ReadNull()) { PropertyMetadata[] 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.id68_Property) && (base.Reader.NamespaceURI == this.id2_Item)) { a = (PropertyMetadata[]) base.EnsureArrayIndex(a, index, typeof(PropertyMetadata)); a[index++] = this.Read14_PropertyMetadata(false, true); } else { base.UnknownNode(null, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:Property"); } } else { base.UnknownNode(null, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:Property"); } base.Reader.MoveToContent(); base.CheckReaderCount(ref num4, ref num5); } base.ReadEndElement(); } o.QueryableProperties = (PropertyMetadata[]) base.ShrinkArray(a, index, typeof(PropertyMetadata), false); } } else if ((base.Reader.LocalName == this.id107_QueryableAssociations) && (base.Reader.NamespaceURI == this.id2_Item)) { if (!base.ReadNull()) { Association[] associationArray = 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.id9_Association) && (base.Reader.NamespaceURI == this.id2_Item)) { associationArray = (Association[]) base.EnsureArrayIndex(associationArray, num6, typeof(Association)); associationArray[num6++] = this.Read16_Association(false, true); } else { base.UnknownNode(null, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:Association"); } } else { base.UnknownNode(null, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:Association"); } base.Reader.MoveToContent(); base.CheckReaderCount(ref num7, ref num8); } base.ReadEndElement(); } o.QueryableAssociations = (Association[]) base.ShrinkArray(associationArray, num6, typeof(Association), false); } } else if ((base.Reader.LocalName == this.id108_QueryOptions) && (base.Reader.NamespaceURI == this.id2_Item)) { if (!base.ReadNull()) { QueryOption[] optionArray = null; int num9 = 0; if (base.Reader.IsEmptyElement) { base.Reader.Skip(); } else { base.Reader.ReadStartElement(); base.Reader.MoveToContent(); int num10 = 0; int num11 = base.ReaderCount; while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None)) { if (base.Reader.NodeType == XmlNodeType.Element) { if ((base.Reader.LocalName == this.id71_Option) && (base.Reader.NamespaceURI == this.id2_Item)) { optionArray = (QueryOption[]) base.EnsureArrayIndex(optionArray, num9, typeof(QueryOption)); optionArray[num9++] = this.Read17_QueryOption(false, true); } else { base.UnknownNode(null, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:Option"); } } else { base.UnknownNode(null, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:Option"); } base.Reader.MoveToContent(); base.CheckReaderCount(ref num10, ref num11); } base.ReadEndElement(); } o.QueryOptions = (QueryOption[]) base.ShrinkArray(optionArray, num9, typeof(QueryOption), false); } } else { base.UnknownNode(o, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:QueryableProperties, http://schemas.microsoft.com/cmdlets-over-objects/2009/11:QueryableAssociations, http://schemas.microsoft.com/cmdlets-over-objects/2009/11:QueryOptions"); } } else { base.UnknownNode(o, "http://schemas.microsoft.com/cmdlets-over-objects/2009/11:QueryableProperties, http://schemas.microsoft.com/cmdlets-over-objects/2009/11:QueryableAssociations, http://schemas.microsoft.com/cmdlets-over-objects/2009/11:QueryOptions"); } base.Reader.MoveToContent(); base.CheckReaderCount(ref whileIterations, ref readerCount); } base.ReadEndElement(); return o; }
private void Write18_GetCmdletParameters(string n, string ns, GetCmdletParameters o, bool isNullable, bool needType) { if (o == null) { if (isNullable) { base.WriteNullTagLiteral(n, ns); } } else { if (!needType && !(o.GetType() == typeof(GetCmdletParameters))) { throw base.CreateUnknownTypeException(o); } base.WriteStartElement(n, ns, o, false, null); if (needType) { base.WriteXsiType("GetCmdletParameters", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11"); } base.WriteAttribute("DefaultCmdletParameterSet", "", o.DefaultCmdletParameterSet); PropertyMetadata[] queryableProperties = o.QueryableProperties; if (queryableProperties != null) { base.WriteStartElement("QueryableProperties", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", null, false); for (int i = 0; i < queryableProperties.Length; i++) { this.Write14_PropertyMetadata("Property", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", queryableProperties[i], false, false); } base.WriteEndElement(); } Association[] queryableAssociations = o.QueryableAssociations; if (queryableAssociations != null) { base.WriteStartElement("QueryableAssociations", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", null, false); for (int j = 0; j < queryableAssociations.Length; j++) { this.Write16_Association("Association", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", queryableAssociations[j], false, false); } base.WriteEndElement(); } QueryOption[] queryOptions = o.QueryOptions; if (queryOptions != null) { base.WriteStartElement("QueryOptions", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", null, false); for (int k = 0; k < queryOptions.Length; k++) { this.Write17_QueryOption("Option", "http://schemas.microsoft.com/cmdlets-over-objects/2009/11", queryOptions[k], false, false); } base.WriteEndElement(); } base.WriteEndElement(o); } }