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

◆ IsRootElement()

bool System.Runtime.Serialization.XmlObjectSerializer.IsRootElement ( XmlReaderDelegator reader,
DataContract contract,
XmlDictionaryString name,
XmlDictionaryString ns )
inlinepackageinherited

Definition at line 374 of file XmlObjectSerializer.cs.

375 {
376 reader.MoveToElement();
377 if (name != null)
378 {
379 return reader.IsStartElement(name, ns ?? XmlDictionaryString.Empty);
380 }
381 if (!contract.HasRoot)
382 {
383 return reader.IsStartElement();
384 }
385 if (reader.IsStartElement(contract.TopLevelElementName, contract.TopLevelElementNamespace))
386 {
387 return true;
388 }
389 ClassDataContract classDataContract = contract as ClassDataContract;
390 if (classDataContract != null)
391 {
393 }
394 while (classDataContract != null)
395 {
396 if (reader.IsStartElement(classDataContract.TopLevelElementName, classDataContract.TopLevelElementNamespace))
397 {
398 return true;
399 }
401 }
402 if (classDataContract == null)
403 {
404 DataContract primitiveDataContract = PrimitiveDataContract.GetPrimitiveDataContract(Globals.TypeOfObject);
405 if (reader.IsStartElement(primitiveDataContract.TopLevelElementName, primitiveDataContract.TopLevelElementNamespace))
406 {
407 return true;
408 }
409 }
410 return false;
411 }
static XmlDictionaryString Empty

References System.Xml.XmlDictionaryString.Empty, System.Runtime.Serialization.PrimitiveDataContract.GetPrimitiveDataContract(), System.Runtime.Serialization.XmlReaderDelegator.IsStartElement(), System.Runtime.Serialization.XmlReaderDelegator.MoveToElement(), and System.Runtime.Serialization.Globals.TypeOfObject.

Referenced by System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalIsStartObject(), and System.Runtime.Serialization.DataContractSerializer.InternalIsStartObject().