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

◆ ReadExtensionDataValue() [1/2]

IDataNode System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadExtensionDataValue ( XmlReaderDelegator xmlReader)
inlineinherited

Definition at line 583 of file XmlObjectSerializerReadContext.cs.

584 {
587 IDataNode dataNode = null;
588 if (attributes.Ref != Globals.NewObjectId)
589 {
590 xmlReader.Skip();
592 object obj;
593 if (!(existingObjectOrExtensionData is IDataNode))
594 {
596 obj = dataNode2;
597 }
598 else
599 {
601 }
602 dataNode = (IDataNode)obj;
604 }
605 else if (attributes.XsiNil)
606 {
607 xmlReader.Skip();
608 dataNode = null;
609 }
610 else
611 {
612 string dataContractName = null;
613 string dataContractNamespace = null;
614 if (attributes.XsiTypeName != null)
615 {
618 }
620 {
623 }
624 else if (attributes.FactoryTypeName != null)
625 {
628 }
630 {
633 }
634 else
635 {
637 if (dataContract == null)
638 {
640 }
641 else if (dataContract is XmlDataContract)
642 {
644 }
645 else if (dataContract.IsISerializable)
646 {
649 }
650 else if (dataContract is PrimitiveDataContract)
651 {
652 if (attributes.Id == Globals.NewObjectId)
653 {
655 xmlReader.MoveToContent();
657 xmlReader.ReadEndElement();
658 }
659 else
660 {
661 dataNode = new DataNode<object>(xmlReader.ReadElementContentAsAnyType(dataContract.UnderlyingType));
663 }
664 }
665 else if (dataContract is EnumDataContract)
666 {
667 dataNode = new DataNode<object>(((EnumDataContract)dataContract).ReadEnumValue(xmlReader));
669 }
670 else if (dataContract is ClassDataContract)
671 {
674 }
675 else if (dataContract is CollectionDataContract)
676 {
679 }
680 }
681 }
682 return dataNode;
683 }
ClassDataNode ReadUnknownClassData(XmlReaderDelegator xmlReader, string dataContractName, string dataContractNamespace)
IDataNode ReadUnknownPrimitiveData(XmlReaderDelegator xmlReader, Type type, string dataContractName, string dataContractNamespace)
CollectionDataNode ReadUnknownCollectionData(XmlReaderDelegator xmlReader, string dataContractName, string dataContractNamespace)
void InitializeExtensionDataNode(IDataNode dataNode, string dataContractName, string dataContractNamespace)
IDataNode ReadUnknownXmlData(XmlReaderDelegator xmlReader, string dataContractName, string dataContractNamespace)
ISerializableDataNode ReadUnknownISerializableData(XmlReaderDelegator xmlReader, string dataContractName, string dataContractNamespace)

References System.Runtime.Serialization.XmlObjectSerializerReadContext.attributes, System.Runtime.Serialization.Dictionary, System.Runtime.Serialization.Attributes.FactoryTypeName, System.Runtime.Serialization.XmlObjectSerializerReadContext.GetExistingObjectOrExtensionData(), System.Runtime.Serialization.Attributes.Id, System.Runtime.Serialization.XmlObjectSerializerContext.IncrementItemCount(), System.Runtime.Serialization.XmlObjectSerializerReadContext.InitializeExtensionDataNode(), System.Runtime.Serialization.XmlObjectSerializerReadContext.IsReadingClassExtensionData(), System.Runtime.Serialization.XmlObjectSerializerReadContext.IsReadingCollectionExtensionData(), System.Runtime.Serialization.Globals.NewObjectId, System.obj, System.Xml.Serialization.Read, System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadAttributes(), System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadExtensionDataValue(), System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadUnknownClassData(), System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadUnknownCollectionData(), System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadUnknownISerializableData(), System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadUnknownPrimitiveData(), System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadUnknownXmlData(), System.Runtime.Serialization.Attributes.Ref, System.Runtime.Serialization.XmlObjectSerializerReadContext.ResolveDataContractFromTypeName(), System.Runtime.Serialization.Attributes.XsiNil, System.Runtime.Serialization.Attributes.XsiTypeName, and System.Runtime.Serialization.Attributes.XsiTypeNamespace.

Referenced by System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadExtensionDataMember(), System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadExtensionDataValue(), System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadUnknownCollectionData(), and System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadUnknownISerializableData().