internal URTComplexType(string name, string urlNS, string ns, string encodedNS, SchemaBlockType blockDefault, bool bSUDSType, bool bAnonymous, WsdlParser parser, WsdlParser.URTNamespace xns) : base(name, urlNS, ns, encodedNS) { this._bprint = true; this._baseTypeName = null; this._baseTypeXmlNS = null; this._baseType = null; this._connectURLs = null; this._bStruct = !bSUDSType; this._blockType = blockDefault; this._bSUDSType = bSUDSType; this._bAnonymous = bAnonymous; this._fieldString = null; this._fields = new ArrayList(); this._methods = new ArrayList(); this._implIFaces = new ArrayList(); this._implIFaceNames = new ArrayList(); this._sudsType = System.Runtime.Remoting.MetadataServices.SUDSType.None; this._parser = parser; int index = name.IndexOf('+'); if (index > 0) { string typeName = parser.Atomize(name.Substring(0, index)); if (xns.LookupComplexType(typeName) == null) { WsdlParser.URTComplexType type = new WsdlParser.URTComplexType(typeName, urlNS, ns, encodedNS, blockDefault, bSUDSType, bAnonymous, parser, xns); xns.AddComplexType(type); } } if ((xns.UrtType == UrtType.Interop) && (name.LastIndexOf('.') > -1)) { this._wireType = name; base.Name = name.Replace(".", "_"); base.SearchName = name; } }