Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ImportMembersMapping() [4/4]

XmlMembersMapping System.Xml.Serialization.XmlSchemaImporter.ImportMembersMapping ( XmlQualifiedName[] names,
Type? baseType,
bool baseTypeCanBeIndirect )
inline

Definition at line 179 of file XmlSchemaImporter.cs.

180 {
181 CodeIdentifiers codeIdentifiers = new CodeIdentifiers();
183 MemberMapping[] array = new MemberMapping[names.Length];
184 for (int i = 0; i < names.Length; i++)
185 {
186 XmlQualifiedName name = names[i];
187 ElementAccessor elementAccessor = ImportElement(name, typeof(TypeMapping), baseType);
188 if (baseType != null && elementAccessor.Mapping is StructMapping)
189 {
191 }
192 MemberMapping memberMapping = new MemberMapping();
193 memberMapping.Name = CodeIdentifier.MakeValid(Accessor.UnescapeName(elementAccessor.Name));
195 memberMapping.TypeDesc = elementAccessor.Mapping.TypeDesc;
196 memberMapping.Elements = new ElementAccessor[1] { elementAccessor };
198 }
199 MembersMapping membersMapping = new MembersMapping();
201 membersMapping.TypeDesc = base.Scope.GetTypeDesc(typeof(object[]));
203 ElementAccessor elementAccessor2 = new ElementAccessor();
205 return new XmlMembersMapping(base.Scope, elementAccessor2, XmlMappingAccess.Read | XmlMappingAccess.Write);
206 }
void MakeDerived(StructMapping structMapping, Type baseType, bool baseTypeCanBeIndirect)
ElementAccessor ImportElement(XmlQualifiedName name, Type desiredMappingType, Type baseType)

References System.array, System.Xml.Dictionary, System.Xml.Serialization.XmlSchemaImporter.ImportElement(), System.Xml.Serialization.SchemaImporter.MakeDerived(), System.Xml.Serialization.CodeIdentifier.MakeValid(), and System.Xml.Serialization.Accessor.UnescapeName().