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

◆ ReadUnknownCollectionData()

CollectionDataNode System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadUnknownCollectionData ( XmlReaderDelegator xmlReader,
string dataContractName,
string dataContractNamespace )
inlineprivateinherited

Definition at line 779 of file XmlObjectSerializerReadContext.cs.

780 {
781 CollectionDataNode collectionDataNode = new CollectionDataNode();
785 while ((xmlNodeType = xmlReader.MoveToContent()) != XmlNodeType.EndElement)
786 {
787 if (xmlNodeType != XmlNodeType.Element)
788 {
789 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnexpectedStateException(XmlNodeType.Element, xmlReader));
790 }
791 if (collectionDataNode.ItemName == null)
792 {
795 }
796 if (xmlReader.IsStartElement(collectionDataNode.ItemName, collectionDataNode.ItemNamespace))
797 {
798 if (collectionDataNode.Items == null)
799 {
801 }
803 }
804 else
805 {
807 }
808 }
809 xmlReader.ReadEndElement();
810 if (arraySZSize != -1)
811 {
813 if (collectionDataNode.Items == null)
814 {
815 if (collectionDataNode.Size > 0)
816 {
817 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(System.SR.Format(System.SR.ArraySizeAttributeIncorrect, arraySZSize, 0)));
818 }
819 }
820 else if (collectionDataNode.Size != collectionDataNode.Items.Count)
821 {
822 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(System.SR.Format(System.SR.ArraySizeAttributeIncorrect, arraySZSize, collectionDataNode.Items.Count)));
823 }
824 }
825 else if (collectionDataNode.Items != null)
826 {
828 }
829 else
830 {
832 }
833 return collectionDataNode;
834 }
void Add(TKey key, TValue value)
static Exception CreateUnexpectedStateException(XmlNodeType expectedState, XmlReaderDelegator xmlReader)
void InitializeExtensionDataNode(IDataNode dataNode, string dataContractName, string dataContractNamespace)
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string ArraySizeAttributeIncorrect
Definition SR.cs:668
Definition SR.cs:7

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.SR.ArraySizeAttributeIncorrect, System.Runtime.Serialization.Attributes.ArraySZSize, System.Runtime.Serialization.XmlObjectSerializerReadContext.attributes, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Runtime.Serialization.XmlObjectSerializer.CreateSerializationException(), System.Runtime.Serialization.XmlObjectSerializerReadContext.CreateUnexpectedStateException(), System.Runtime.Serialization.Dictionary, System.SR.Format(), System.Runtime.Serialization.XmlObjectSerializerReadContext.InitializeExtensionDataNode(), System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadExtensionDataValue(), System.Runtime.Serialization.XmlObjectSerializerReadContext.SkipUnknownElement(), and System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError().

Referenced by System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadAndResolveUnknownXmlData(), and System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadExtensionDataValue().