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

◆ WriteExtensionDataTypeInfo()

override void System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.WriteExtensionDataTypeInfo ( XmlWriterDelegator xmlWriter,
IDataNode dataNode )
inlinepackagevirtual

Reimplemented from System.Runtime.Serialization.XmlObjectSerializerWriteContext.

Definition at line 219 of file XmlObjectSerializerWriteContextComplexJson.cs.

220 {
221 Type dataType = dataNode.DataType;
222 if (dataType == Globals.TypeOfClassDataNode || dataType == Globals.TypeOfISerializableDataNode)
223 {
224 xmlWriter.WriteAttributeString(null, "type", null, "object");
225 base.WriteExtensionDataTypeInfo(xmlWriter, dataNode);
226 }
227 else if (dataType == Globals.TypeOfCollectionDataNode)
228 {
229 xmlWriter.WriteAttributeString(null, "type", null, "array");
230 }
231 else if (!(dataType == Globals.TypeOfXmlDataNode) && dataType == Globals.TypeOfObject && dataNode.Value != null)
232 {
233 DataContract dataContract = GetDataContract(dataNode.Value.GetType());
235 {
236 base.WriteExtensionDataTypeInfo(xmlWriter, dataNode);
237 }
238 }
239 }

References System.Runtime.Serialization.IDataNode.DataType, System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.GetDataContract(), System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.RequiresJsonTypeInfo(), System.Runtime.Serialization.Globals.TypeOfClassDataNode, System.Runtime.Serialization.Globals.TypeOfCollectionDataNode, System.Runtime.Serialization.Globals.TypeOfISerializableDataNode, System.Runtime.Serialization.Globals.TypeOfObject, System.Runtime.Serialization.Globals.TypeOfXmlDataNode, and System.Runtime.Serialization.IDataNode.Value.