예제 #1
0
 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;
 }
예제 #2
0
 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);
     }
 }