System.Xml.Serialization.SoapReflectionImporter.ImportMembersMapping C# (CSharp) Method

ImportMembersMapping() private method

private ImportMembersMapping ( XmlReflectionMember xmlReflectionMembers, string ns, bool hasWrapperElement, bool writeAccessors, bool validateWrapperElement ) : MembersMapping
xmlReflectionMembers XmlReflectionMember
ns string
hasWrapperElement bool
writeAccessors bool
validateWrapperElement bool
return MembersMapping
        MembersMapping ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, string ns, bool hasWrapperElement, bool writeAccessors, bool validateWrapperElement) {
            MembersMapping members = new MembersMapping();
            members.TypeDesc = typeScope.GetTypeDesc(typeof(object[]));
            MemberMapping[] mappings = new MemberMapping[xmlReflectionMembers.Length];
            for (int i = 0; i < mappings.Length; i++) {
                try {
                    XmlReflectionMember member = xmlReflectionMembers[i];
                    MemberMapping mapping = ImportMemberMapping(member, ns, xmlReflectionMembers, hasWrapperElement ? XmlSchemaForm.Unqualified : XmlSchemaForm.Qualified);
                    if (member.IsReturnValue && writeAccessors) { // no special treatment for return values with doc/enc
                        if (i > 0) throw new InvalidOperationException(Res.GetString(Res.XmlInvalidReturnPosition));
                        mapping.IsReturnValue = true;
                    }
                    mappings[i] = mapping;
                }
                catch (Exception e) {
                    if (e is ThreadAbortException || e is StackOverflowException || e is OutOfMemoryException) {
                        throw;
                    }
                    throw ReflectionException(xmlReflectionMembers[i].MemberName, e);
                }
                catch {
                    throw ReflectionException(xmlReflectionMembers[i].MemberName, null);
                }
            }
            members.Members = mappings;
            members.HasWrapperElement = hasWrapperElement;
            if (hasWrapperElement) {
                members.ValidateRpcWrapperElement = validateWrapperElement;
            }
            members.WriteAccessors = writeAccessors;
            members.IsSoap = true;
            if (hasWrapperElement && !writeAccessors)
                members.Namespace = ns;
            return members;
        }
        

Same methods

SoapReflectionImporter::ImportMembersMapping ( string elementName, string ns, XmlReflectionMember members ) : XmlMembersMapping
SoapReflectionImporter::ImportMembersMapping ( string elementName, string ns, XmlReflectionMember members, bool hasWrapperElement, bool writeAccessors ) : XmlMembersMapping
SoapReflectionImporter::ImportMembersMapping ( string elementName, string ns, XmlReflectionMember members, bool hasWrapperElement, bool writeAccessors, bool validate ) : XmlMembersMapping
SoapReflectionImporter::ImportMembersMapping ( string elementName, string ns, XmlReflectionMember members, bool hasWrapperElement, bool writeAccessors, bool validate, XmlMappingAccess access ) : XmlMembersMapping

Usage Example

		private XmlMembersMapping MembersMap (Type t, SoapAttributeOverrides overrides, 
			XmlReflectionMember [] members, bool inContainer, bool writeAccessors)
		{
			SoapReflectionImporter ri = new SoapReflectionImporter (overrides);
			XmlMembersMapping mm = ri.ImportMembersMapping (null, null, members, 
				inContainer, writeAccessors);
			
			return mm;
		}
All Usage Examples Of System.Xml.Serialization.SoapReflectionImporter::ImportMembersMapping