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

◆ ReadIXmlSerializable() [2/2]

static object System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadIXmlSerializable ( XmlSerializableReader xmlSerializableReader,
XmlReaderDelegator xmlReader,
XmlDataContract xmlDataContract,
bool isMemberType )
inlinestaticpackageinherited

Definition at line 490 of file XmlObjectSerializerReadContext.cs.

491 {
492 object obj = null;
494 if (isMemberType && !xmlDataContract.HasRoot)
495 {
496 xmlReader.Read();
497 xmlReader.MoveToContent();
498 }
499 if (xmlDataContract.UnderlyingType == Globals.TypeOfXmlElement)
500 {
501 if (!xmlReader.IsStartElement())
502 {
503 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnexpectedStateException(XmlNodeType.Element, xmlReader));
504 }
507 }
508 else if (xmlDataContract.UnderlyingType == Globals.TypeOfXmlNodeArray)
509 {
510 obj = XmlSerializableServices.ReadNodes(xmlSerializableReader);
511 }
512 else
513 {
514 IXmlSerializable xmlSerializable = xmlDataContract.CreateXmlSerializableDelegate();
517 }
518 xmlSerializableReader.EndRead();
519 return obj;
520 }
static Exception CreateUnexpectedStateException(XmlNodeType expectedState, XmlReaderDelegator xmlReader)

References System.Runtime.Serialization.XmlObjectSerializerReadContext.CreateUnexpectedStateException(), System.Runtime.Serialization.Dictionary, System.obj, System.Runtime.Serialization.XmlSerializableServices.ReadNodes(), System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(), System.Runtime.Serialization.Globals.TypeOfXmlElement, and System.Runtime.Serialization.Globals.TypeOfXmlNodeArray.