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

◆ WriteEnumAndArrayTypes()

bool System.Xml.Serialization.ReflectionXmlSerializationReader.WriteEnumAndArrayTypes ( out object o,
StructMapping mapping,
XmlQualifiedName xsiType,
string defaultNamespace )
inlineprivate

Definition at line 1596 of file ReflectionXmlSerializationReader.cs.

1597 {
1598 foreach (object typeMapping in _mapping.Scope.TypeMappings)
1599 {
1600 if (typeMapping is EnumMapping enumMapping)
1601 {
1602 if (QNameEqual(xsiType, enumMapping.TypeName, enumMapping.Namespace, defaultNamespace))
1603 {
1604 base.Reader.ReadStartElement();
1606 {
1608 return reflectionXmlSerializationReader.CollapseWhitespace(reflectionXmlSerializationReader.Reader.ReadString());
1609 };
1612 return true;
1613 }
1614 }
1615 else if (typeMapping is ArrayMapping arrayMapping && QNameEqual(xsiType, arrayMapping.TypeName, arrayMapping.Namespace, defaultNamespace))
1616 {
1617 o = WriteArray(arrayMapping, readOnly: false, isNullable: false, defaultNamespace);
1618 return true;
1619 }
1620 }
1621 o = null;
1622 return false;
1623 }
ReflectionXmlSerializationReader(XmlMapping mapping, XmlReader xmlReader, XmlDeserializationEvents events, string encodingStyle)
object WriteEnumMethod(EnumMapping mapping, Func< object, string > readFunc, object funcState)
bool QNameEqual(XmlQualifiedName xsiType, string name, string ns, string defaultNamespace)
object WriteArray(ArrayMapping arrayMapping, bool readOnly, bool isNullable, string defaultNamespace, int fixupIndex=-1, Fixup fixup=null, Member member=null)

References System.Xml.Serialization.ReflectionXmlSerializationReader.ReflectionXmlSerializationReader(), System.Xml.Serialization.ReflectionXmlSerializationReader._mapping, System.Xml.Dictionary, System.Xml.Serialization.ReflectionXmlSerializationReader.QNameEqual(), System.Xml.Serialization.XmlSerializationReader.ReadEndElement(), System.Xml.Serialization.XmlMapping.Scope, System.state, System.Xml.Serialization.TypeScope.TypeMappings, System.Xml.Serialization.ReflectionXmlSerializationReader.WriteArray(), and System.Xml.Serialization.ReflectionXmlSerializationReader.WriteEnumMethod().

Referenced by System.Xml.Serialization.ReflectionXmlSerializationReader.WriteLiteralStructMethod().