internal void AddArray(WsdlGenerator.SchemaAttribute attribute)
 {
     this._rtype = RestrictionType.Array;
     this._attribute = attribute;
 }
 private static string ProcessArray(System.Type type, WsdlGenerator.XMLNamespace xns)
 {
     string wireQname = null;
     bool flag = false;
     System.Type elementType = type.GetElementType();
     string str2 = "ArrayOf";
     while (elementType.IsArray)
     {
         str2 = str2 + "ArrayOf";
         elementType = elementType.GetElementType();
     }
     wireQname = TypeName(elementType, true, xns);
     int index = wireQname.IndexOf(":");
     wireQname.Substring(0, index);
     string str3 = wireQname.Substring(index + 1);
     int arrayRank = type.GetArrayRank();
     string str4 = "";
     if (arrayRank > 1)
     {
         str4 = arrayRank.ToString(CultureInfo.InvariantCulture);
     }
     string name = (str2 + str3.Substring(0, 1).ToUpper(CultureInfo.InvariantCulture) + str3.Substring(1) + str4).Replace('+', 'N');
     if (xns.LookupArraySchemaType(name) == null)
     {
         WsdlGenerator.ArraySchemaType asType = new WsdlGenerator.ArraySchemaType(type, name, SchemaBlockType.ComplexContent, false);
         WsdlGenerator.Restriction particle = new WsdlGenerator.Restriction();
         WsdlGenerator.SchemaAttribute attribute = new WsdlGenerator.SchemaAttribute();
         if (flag)
         {
             attribute.AddArray(wireQname);
         }
         else
         {
             string str6 = type.Name;
             index = str6.IndexOf("[");
             attribute.AddArray(wireQname + str6.Substring(index));
         }
         particle.AddArray(attribute);
         asType.AddParticle(particle);
         xns.AddArraySchemaType(asType);
     }
     return (xns.Prefix + ":" + name);
 }