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

◆ InternalReadObject() [2/2]

override object System.Runtime.Serialization.DataContractSerializer.InternalReadObject ( XmlReaderDelegator xmlReader,
bool verifyObjectName,
DataContractResolver dataContractResolver )
inlinepackagevirtual

Reimplemented from System.Runtime.Serialization.XmlObjectSerializer.

Definition at line 410 of file DataContractSerializer.cs.

411 {
412 if (MaxItemsInObjectGraph == 0)
413 {
414 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(System.SR.Format(System.SR.ExceededMaxItemsQuota, MaxItemsInObjectGraph)));
415 }
416 if (dataContractResolver == null)
417 {
419 }
421 {
423 {
426 if (_rootName == null)
427 {
430 }
431 else
432 {
433 p = _rootName;
435 }
436 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationExceptionWithReaderDetails(System.SR.Format(System.SR.ExpectingElement, p2, p), xmlReader));
437 }
438 }
439 else if (!IsStartElement(xmlReader))
440 {
441 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationExceptionWithReaderDetails(System.SR.Format(System.SR.ExpectingElementAtDeserialize, XmlNodeType.Element), xmlReader));
442 }
443 DataContract rootContract = RootContract;
444 if (rootContract.IsPrimitive && (object)rootContract.UnderlyingType == _rootType)
445 {
446 return rootContract.ReadXmlValue(xmlReader, null);
447 }
449 {
450 return XmlObjectSerializerReadContext.ReadRootIXmlSerializable(xmlReader, rootContract as XmlDataContract, isMemberType: false);
451 }
452 XmlObjectSerializerReadContext xmlObjectSerializerReadContext = XmlObjectSerializerReadContext.CreateContext(this, rootContract, dataContractResolver);
453 return xmlObjectSerializerReadContext.InternalDeserialize(xmlReader, _rootType, rootContract, null, null);
454 }
override bool InternalIsStartObject(XmlReaderDelegator reader)
virtual XmlDictionaryString TopLevelElementNamespace
virtual XmlDictionaryString TopLevelElementName
bool IsRootXmlAny(XmlDictionaryString rootName, DataContract contract)
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string ExceededMaxItemsQuota
Definition SR.cs:102
static string ExpectingElementAtDeserialize
Definition SR.cs:106
static string ExpectingElement
Definition SR.cs:104
Definition SR.cs:7

References System.Runtime.Serialization.DataContractSerializer._rootName, System.Runtime.Serialization.DataContractSerializer._rootNamespace, System.Runtime.Serialization.DataContractSerializer._rootType, System.Runtime.Serialization.XmlObjectSerializerReadContext.CreateContext(), System.Runtime.Serialization.XmlObjectSerializer.CreateSerializationException(), System.Runtime.Serialization.XmlObjectSerializer.CreateSerializationExceptionWithReaderDetails(), System.Runtime.Serialization.DataContractSerializer.DataContractResolver, System.Runtime.Serialization.Dictionary, System.SR.ExceededMaxItemsQuota, System.SR.ExpectingElement, System.SR.ExpectingElementAtDeserialize, System.SR.Format(), System.Runtime.Serialization.DataContractSerializer.InternalIsStartObject(), System.Runtime.Serialization.XmlObjectSerializer.IsRootXmlAny(), System.Runtime.Serialization.XmlObjectSerializer.IsStartElement(), System.Runtime.Serialization.DataContractSerializer.MaxItemsInObjectGraph, System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadRootIXmlSerializable(), System.Runtime.Serialization.DataContractSerializer.RootContract, System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(), System.Runtime.Serialization.DataContract.TopLevelElementName, and System.Runtime.Serialization.DataContract.TopLevelElementNamespace.