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

◆ WritePotentiallyReferencingElement() [4/4]

void System.Xml.Serialization.XmlSerializationWriter.WritePotentiallyReferencingElement ( string? n,
string? ns,
object? o,
Type? ambientType,
bool suppressReference,
bool isNullable )
inlineprotected

Definition at line 1454 of file XmlSerializationWriter.cs.

1455 {
1456 if (o == null)
1457 {
1458 if (isNullable)
1459 {
1461 }
1462 return;
1463 }
1464 Type type = o.GetType();
1465 if (Type.GetTypeCode(type) == TypeCode.Object && !(o is Guid) && type != typeof(XmlQualifiedName) && !(o is XmlNode[]) && type != typeof(byte[]))
1466 {
1467 if ((suppressReference || _soap12) && !IsIdDefined(o))
1468 {
1470 }
1471 else if (n == null)
1472 {
1473 TypeEntry typeEntry = GetTypeEntry(type);
1475 }
1476 else
1477 {
1479 }
1480 return;
1481 }
1482 bool flag = type != ambientType && !type.IsEnum;
1483 TypeEntry typeEntry2 = GetTypeEntry(type);
1484 if (typeEntry2 != null)
1485 {
1486 if (n == null)
1487 {
1488 WriteStartElement(typeEntry2.typeName, typeEntry2.typeNs, null, writePrefixed: true);
1489 }
1490 else
1491 {
1493 }
1494 if (flag)
1495 {
1496 WriteXsiType(typeEntry2.typeName, typeEntry2.typeNs);
1497 }
1498 typeEntry2.callback(o);
1500 }
1501 else
1502 {
1503 WriteTypedPrimitive(n, ns, o, flag);
1504 }
1505 }
void WriteReferencingElement(string n, string? ns, object? o)
void WriteTypedPrimitive(string? name, string? ns, object o, bool xsiType)

References System.Xml.Serialization.XmlSerializationWriter._soap12, System.Xml.Serialization.XmlSerializationWriter._w, System.Xml.Dictionary, System.Type.GetTypeCode(), System.Xml.Serialization.XmlSerializationWriter.GetTypeEntry(), System.Xml.Serialization.XmlSerializationWriter.IsIdDefined(), System.type, System.Xml.XmlWriter.WriteEndElement(), System.Xml.Serialization.XmlSerializationWriter.WriteNullTagEncoded(), System.Xml.Serialization.XmlSerializationWriter.WriteReferencedElement(), System.Xml.Serialization.XmlSerializationWriter.WriteReferencingElement(), System.Xml.Serialization.XmlSerializationWriter.WriteStartElement(), System.Xml.Serialization.XmlSerializationWriter.WriteTypedPrimitive(), and System.Xml.Serialization.XmlSerializationWriter.WriteXsiType().