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); }