Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
QNameDataContract.cs
Go to the documentation of this file.
2using System.Xml;
3
5
7{
8 internal override string WriteMethodName => "WriteQName";
9
10 internal override string ReadMethodName => "ReadElementContentAsQName";
11
12 internal override bool IsPrimitive => false;
13
15 : base(typeof(XmlQualifiedName), DictionaryGlobals.QNameLocalName, DictionaryGlobals.SchemaNamespace)
16 {
17 }
18
19 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
21 {
22 writer.WriteQName((XmlQualifiedName)obj);
23 }
24
25 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
26 public override object ReadXmlValue(XmlReaderDelegator reader, XmlObjectSerializerReadContext context)
27 {
28 if (context == null)
29 {
30 if (!TryReadNullAtTopLevel(reader))
31 {
32 return reader.ReadElementContentAsQName();
33 }
34 return null;
35 }
36 return HandleReadValue(reader.ReadElementContentAsQName(), context);
37 }
38
39 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
44
46 {
48 {
49 writer.WriteStartElement("z", name, ns);
50 }
51 else if (ns != null && ns.Value != null && ns.Value.Length > 0)
52 {
53 writer.WriteStartElement("q", name, ns);
54 }
55 else
56 {
57 writer.WriteStartElement(name, ns);
58 }
59 }
60}
static readonly XmlDictionaryString SerializationNamespace
object HandleReadValue(object obj, XmlObjectSerializerReadContext context)
override void WriteRootElement(XmlWriterDelegator writer, XmlDictionaryString name, XmlDictionaryString ns)
override void WriteXmlElement(XmlWriterDelegator writer, object obj, XmlObjectSerializerWriteContext context, XmlDictionaryString name, XmlDictionaryString ns)
override object ReadXmlValue(XmlReaderDelegator reader, XmlObjectSerializerReadContext context)
override void WriteXmlValue(XmlWriterDelegator writer, object obj, XmlObjectSerializerWriteContext context)
virtual void WriteQName(XmlWriterDelegator xmlWriter, XmlQualifiedName value)