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

◆ ImportEnumeratedChoice()

EnumMapping System.Xml.Serialization.XmlSchemaImporter.ImportEnumeratedChoice ( ElementAccessor[] choice,
string typeNs,
string typeName )
inlineprivate

Definition at line 1827 of file XmlSchemaImporter.cs.

1828 {
1829 typeName = GenerateUniqueTypeName(Accessor.UnescapeName(typeName), typeNs);
1830 EnumMapping enumMapping = new EnumMapping();
1831 enumMapping.TypeDesc = new TypeDesc(typeName, typeName, TypeKind.Enum, null, TypeFlags.None);
1832 enumMapping.TypeName = typeName;
1833 enumMapping.Namespace = typeNs;
1834 enumMapping.IsFlags = false;
1836 if (GenerateOrder)
1837 {
1838 Array.Sort(choice, new ElementComparer());
1839 }
1840 CodeIdentifiers codeIdentifiers = new CodeIdentifiers();
1841 for (int i = 0; i < choice.Length; i++)
1842 {
1843 ElementAccessor elementAccessor = choice[i];
1844 ConstantMapping constantMapping = new ConstantMapping();
1845 string identifier = CodeIdentifier.MakeValid(elementAccessor.Name);
1847 constantMapping.XmlName = elementAccessor.ToString(typeNs);
1849 }
1850 enumMapping.Constants = (ConstantMapping[])codeIdentifiers.ToArray(typeof(ConstantMapping));
1851 base.Scope.AddTypeMapping(enumMapping);
1852 return enumMapping;
1853 }
string GenerateUniqueTypeName(string desiredName, string ns)

References System.Xml.Dictionary, System.Xml.Serialization.XmlSchemaImporter.GenerateOrder, System.Xml.Serialization.XmlSchemaImporter.GenerateUniqueTypeName(), System.Xml.Serialization.CodeIdentifier.MakeValid(), System.Array.Sort(), and System.Xml.Serialization.Accessor.UnescapeName().

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