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

◆ WriteEnumMethod() [2/2]

object System.Xml.Serialization.ReflectionXmlSerializationReader.WriteEnumMethod ( EnumMapping mapping,
string source )
inlineprivate

Definition at line 1133 of file ReflectionXmlSerializationReader.cs.

1134 {
1135 if (mapping.IsFlags)
1136 {
1137 Hashtable h = WriteHashtable(mapping, mapping.TypeDesc.Name);
1138 return Enum.ToObject(mapping.TypeDesc.Type, XmlSerializationReader.ToEnum(source, h, mapping.TypeDesc.Name));
1139 }
1140 ConstantMapping[] constants = mapping.Constants;
1141 foreach (ConstantMapping constantMapping in constants)
1142 {
1143 if (string.Equals(constantMapping.XmlName, source))
1144 {
1145 return Enum.Parse(mapping.TypeDesc.Type, constantMapping.Name);
1146 }
1147 }
1148 throw CreateUnknownConstantException(source, mapping.TypeDesc.Type);
1149 }
Exception CreateUnknownConstantException(string? value, Type enumType)

References System.Xml.Serialization.XmlSerializationReader.CreateUnknownConstantException(), System.Enum.Parse(), System.source, System.Xml.Serialization.XmlSerializationReader.ToEnum(), System.Enum.ToObject(), and System.Xml.Serialization.ReflectionXmlSerializationReader.WriteHashtable().