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

◆ GenerateTypeElement()

void System.Xml.Serialization.ReflectionXmlSerializationWriter.GenerateTypeElement ( object o,
XmlTypeMapping xmlMapping )
inlineprivate

Definition at line 74 of file ReflectionXmlSerializationWriter.cs.

75 {
76 ElementAccessor accessor = xmlMapping.Accessor;
77 TypeMapping mapping = accessor.Mapping;
79 if (o == null)
80 {
81 string ns = ((accessor.Form == XmlSchemaForm.Qualified) ? accessor.Namespace : string.Empty);
82 if (accessor.IsNullable)
83 {
84 if (mapping.IsSoap)
85 {
87 }
88 else
89 {
91 }
92 }
93 else
94 {
95 WriteEmptyTag(accessor.Name, ns);
96 }
97 return;
98 }
99 if (!mapping.TypeDesc.IsValueType && !mapping.TypeDesc.Type.IsPrimitive)
100 {
102 }
103 WriteMember(o, null, new ElementAccessor[1] { accessor }, null, null, mapping.TypeDesc, !accessor.IsSoap);
104 if (mapping.IsSoap)
105 {
107 }
108 }
void WriteMember(object o, object choiceSource, ElementAccessor[] elements, TextAccessor text, ChoiceIdentifierAccessor choice, TypeDesc memberTypeDesc, bool writeAccessors)

References System.Xml.Dictionary, System.Xml.Serialization.XmlSerializationWriter.TopLevelElement(), System.Xml.Serialization.XmlSerializationWriter.WriteEmptyTag(), System.Xml.Serialization.ReflectionXmlSerializationWriter.WriteMember(), System.Xml.Serialization.XmlSerializationWriter.WriteNullTagEncoded(), System.Xml.Serialization.XmlSerializationWriter.WriteNullTagLiteral(), System.Xml.Serialization.XmlSerializationWriter.WriteReferencedElements(), and System.Xml.Serialization.XmlSerializationWriter.WriteStartDocument().

Referenced by System.Xml.Serialization.ReflectionXmlSerializationWriter.WriteObjectOfTypeElement().