Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
XmlObjectSerializerWriteContextComplex.cs
Go to the documentation of this file.
2using System.Xml;
3
5
7{
9
10 private readonly SerializationMode _mode;
11
12 internal override SerializationMode Mode => _mode;
13
21
26
28 {
29 return false;
30 }
31
33 {
34 return false;
35 }
36
37 internal override void WriteAnyType(XmlWriterDelegator xmlWriter, object value)
38 {
40 {
41 xmlWriter.WriteAnyType(value);
42 }
43 }
44
45 internal override void WriteString(XmlWriterDelegator xmlWriter, string value)
46 {
48 {
49 xmlWriter.WriteString(value);
50 }
51 }
52
53 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
55 {
56 if (value == null)
57 {
58 WriteNull(xmlWriter, typeof(string), isMemberTypeSerializable: true, name, ns);
59 return;
60 }
61 xmlWriter.WriteStartElementPrimitive(name, ns);
63 {
64 xmlWriter.WriteString(value);
65 }
66 xmlWriter.WriteEndElementPrimitive();
67 }
68
69 internal override void WriteBase64(XmlWriterDelegator xmlWriter, byte[] value)
70 {
72 {
73 xmlWriter.WriteBase64(value);
74 }
75 }
76
77 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
79 {
80 if (value == null)
81 {
82 WriteNull(xmlWriter, typeof(byte[]), isMemberTypeSerializable: true, name, ns);
83 return;
84 }
85 xmlWriter.WriteStartElementPrimitive(name, ns);
87 {
88 xmlWriter.WriteBase64(value);
89 }
90 xmlWriter.WriteEndElementPrimitive();
91 }
92
94 {
96 {
97 xmlWriter.WriteUri(value);
98 }
99 }
100
101 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
103 {
104 if (value == null)
105 {
107 return;
108 }
109 xmlWriter.WriteStartElementPrimitive(name, ns);
111 {
112 xmlWriter.WriteUri(value);
113 }
114 xmlWriter.WriteEndElementPrimitive();
115 }
116
118 {
120 {
121 xmlWriter.WriteQName(value);
122 }
123 }
124
125 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
127 {
128 if (value == null)
129 {
131 return;
132 }
133 if (ns != null && ns.Value != null && ns.Value.Length > 0)
134 {
135 xmlWriter.WriteStartElement("q", name, ns);
136 }
137 else
138 {
139 xmlWriter.WriteStartElement(name, ns);
140 }
142 {
143 xmlWriter.WriteQName(value);
144 }
145 xmlWriter.WriteEndElement();
146 }
147
148 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
160
162 {
164 {
165 bool newId = true;
166 int id = base.SerializedObjects.GetId(obj, ref newId);
167 if (newId)
168 {
170 }
171 else
172 {
175 }
176 return !newId;
177 }
178 return base.OnHandleReference(xmlWriter, obj, canContainCyclicReference);
179 }
180
182 {
184 {
185 base.OnEndHandleReference(xmlWriter, obj, canContainCyclicReference);
186 }
187 }
188
189 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
209
210 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
225
226 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
260
261 internal override void WriteArraySize(XmlWriterDelegator xmlWriter, int size)
262 {
263 if (preserveObjectReferences && size > -1)
264 {
266 }
267 }
268}
static object SurrogateToDataContractType(ISerializationSurrogateProvider serializationSurrogateProvider, object oldObj, Type surrogatedDeclaredType, ref Type objType)
static Type GetSurrogatedType(ISerializationSurrogateProvider serializationSurrogateProvider, Type type)
static Type GetDataContractType(ISerializationSurrogateProvider surrogateProvider, Type type)
static string GetClrTypeFullName(Type type)
static readonly XmlDictionaryString RefLocalName
static readonly XmlDictionaryString IdLocalName
static readonly XmlDictionaryString ArraySizeLocalName
static readonly XmlDictionaryString SerializationNamespace
static readonly XmlDictionaryString XsiNilLocalName
static readonly XmlDictionaryString SchemaInstanceNamespace
override bool WriteClrTypeInfo(XmlWriterDelegator xmlWriter, DataContract dataContract)
XmlObjectSerializerWriteContextComplex(DataContractSerializer serializer, DataContract rootTypeDataContract, DataContractResolver dataContractResolver)
override void WriteQName(XmlWriterDelegator xmlWriter, XmlQualifiedName value)
override void CheckIfTypeSerializable(Type memberType, bool isMemberTypeSerializable)
XmlObjectSerializerWriteContextComplex(XmlObjectSerializer serializer, int maxItemsInObjectGraph, StreamingContext streamingContext, bool ignoreExtensionDataObject)
override void WriteUri(XmlWriterDelegator xmlWriter, Uri value, XmlDictionaryString name, XmlDictionaryString ns)
override void OnEndHandleReference(XmlWriterDelegator xmlWriter, object obj, bool canContainCyclicReference)
override void WriteQName(XmlWriterDelegator xmlWriter, XmlQualifiedName value, XmlDictionaryString name, XmlDictionaryString ns)
override bool WriteClrTypeInfo(XmlWriterDelegator xmlWriter, Type dataContractType, string clrTypeName, string clrAssemblyName)
override void WriteBase64(XmlWriterDelegator xmlWriter, byte[] value, XmlDictionaryString name, XmlDictionaryString ns)
override bool OnHandleReference(XmlWriterDelegator xmlWriter, object obj, bool canContainCyclicReference)
override void InternalSerialize(XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
override void WriteString(XmlWriterDelegator xmlWriter, string value, XmlDictionaryString name, XmlDictionaryString ns)
void InternalSerializeWithSurrogate(XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
void WriteNull(XmlWriterDelegator xmlWriter, Type memberType, bool isMemberTypeSerializable)
void SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, object obj, RuntimeTypeHandle declaredTypeHandle)
virtual void SerializeWithXsiType(XmlWriterDelegator xmlWriter, object obj, RuntimeTypeHandle objectTypeHandle, Type objectType, int declaredTypeID, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string TypeNotSerializable
Definition SR.cs:286
static string SurrogatesWithGetOnlyCollectionsNotSupportedSerDeser
Definition SR.cs:632
Definition SR.cs:7
static Type GetTypeFromHandle(RuntimeTypeHandle handle)