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

◆ ImportElementMember()

void System.Xml.Serialization.XmlSchemaImporter.ImportElementMember ( XmlSchemaElement element,
string identifier,
CodeIdentifiers members,
CodeIdentifiers membersScope,
INameScope elementsScope,
string ns,
bool repeats,
ref bool needExplicitOrder,
bool allowDuplicates,
bool allowUnboundedElements )
inlineprivate

Definition at line 1441 of file XmlSchemaImporter.cs.

1442 {
1443 repeats |= element.IsMultipleOccurrence;
1446 {
1447 return;
1448 }
1449 ElementAccessor elementAccessor;
1450 if ((elementAccessor = ImportArray(element, identifier, ns, repeats)) == null)
1451 {
1452 elementAccessor = ImportElement(element, identifier, typeof(TypeMapping), null, ns, topLevelElement: false);
1453 }
1454 MemberMapping memberMapping = new MemberMapping();
1455 string identifier2 = CodeIdentifier.MakeValid(Accessor.UnescapeName(elementAccessor.Name));
1457 if (memberMapping.Name.EndsWith("Specified", StringComparison.Ordinal))
1458 {
1462 }
1464 if (elementAccessor.Mapping.IsList)
1465 {
1467 memberMapping.TypeDesc = elementAccessor.Mapping.TypeDesc;
1468 }
1469 else
1470 {
1471 memberMapping.TypeDesc = elementAccessor.Mapping.TypeDesc;
1472 }
1474 memberMapping.Elements = new ElementAccessor[1] { elementAccessor };
1475 if (element.IsMultipleOccurrence || repeats)
1476 {
1477 if (!allowUnboundedElements && elementAccessor.Mapping is ArrayMapping)
1478 {
1479 elementAccessor.Mapping = ((ArrayMapping)elementAccessor.Mapping).TopLevelMapping;
1482 }
1483 memberMapping.TypeDesc = elementAccessor.Mapping.TypeDesc.CreateArrayTypeDesc();
1484 }
1485 if (element.MinOccurs == 0m && memberMapping.TypeDesc.IsValueType && !element.HasDefault && !memberMapping.TypeDesc.HasIsEmpty)
1486 {
1487 memberMapping.CheckSpecified = SpecifiedAccessor.ReadWrite;
1488 }
1489 }
bool ICollection< KeyValuePair< TKey, TValue > >. Remove(KeyValuePair< TKey, TValue > keyValuePair)
void Add(TKey key, TValue value)
ElementAccessor ImportArray(XmlSchemaElement element, string identifier, string ns, bool repeats)
bool ImportSubstitutionGroupMember(XmlSchemaElement element, string identifier, CodeIdentifiers members, CodeIdentifiers membersScope, string ns, bool repeats, ref bool needExplicitOrder, bool allowDuplicates)
void AddScopeElement(INameScope scope, ElementAccessor element, ref bool duplicateElements, bool allowDuplicates)
TypeMapping GetDefaultMapping(TypeFlags flags)
ElementAccessor ImportElement(XmlQualifiedName name, Type desiredMappingType, Type baseType)
XmlSchemaElement GetTopLevelElement(XmlSchemaElement element)

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Xml.Serialization.XmlSchemaImporter.AddScopeElement(), System.Xml.Dictionary, System.Xml.Serialization.XmlSchemaImporter.GetDefaultMapping(), System.Xml.Serialization.XmlSchemaImporter.GetTopLevelElement(), System.Xml.Schema.XmlSchemaElement.HasDefault, System.Xml.Serialization.XmlSchemaImporter.ImportArray(), System.Xml.Serialization.XmlSchemaImporter.ImportElement(), System.Xml.Serialization.XmlSchemaImporter.ImportSubstitutionGroupMember(), System.Xml.Schema.XmlSchemaParticle.IsMultipleOccurrence, System.Xml.Serialization.CodeIdentifier.MakeValid(), System.Xml.Schema.XmlSchemaParticle.MinOccurs, System.Collections.Generic.Dictionary< TKey, TValue >.Remove(), and System.Xml.Serialization.Accessor.UnescapeName().

Referenced by System.Xml.Serialization.XmlSchemaImporter.ImportGroupMembers().