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

◆ SerializeWithXsiType()

virtual void System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithXsiType ( XmlWriterDelegator xmlWriter,
object obj,
RuntimeTypeHandle objectTypeHandle,
Type objectType,
int declaredTypeID,
RuntimeTypeHandle declaredTypeHandle,
Type declaredType )
inlineprotectedvirtualinherited

Reimplemented in System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.

Definition at line 164 of file XmlObjectSerializerWriteContext.cs.

165 {
166 bool verifyKnownType = false;
167 DataContract dataContractSkipValidation;
168 if (declaredType.IsInterface && CollectionDataContract.IsCollectionInterface(declaredType))
169 {
172 {
173 return;
174 }
176 if (!WriteClrTypeInfo(xmlWriter, dataContractSkipValidation) && base.DataContractResolver != null)
177 {
178 if (objectType == null)
179 {
180 objectType = Type.GetTypeFromHandle(objectTypeHandle);
181 }
183 }
184 }
185 else if (declaredType.IsArray)
186 {
190 }
191 else
192 {
195 {
196 return;
197 }
199 {
202 }
203 }
205 }
virtual DataContract GetDataContractSkipValidation(int typeId, RuntimeTypeHandle typeHandle, Type type)
bool OnHandleIsReference(XmlWriterDelegator xmlWriter, DataContract contract, object obj)
virtual bool WriteClrTypeInfo(XmlWriterDelegator xmlWriter, DataContract dataContract)
virtual bool WriteTypeInfo(XmlWriterDelegator writer, DataContract contract, DataContract declaredContract)
void WriteResolvedTypeInfo(XmlWriterDelegator writer, Type objectType, Type declaredType)
void SerializeAndVerifyType(DataContract dataContract, XmlWriterDelegator xmlWriter, object obj, bool verifyKnownType, RuntimeTypeHandle declaredTypeHandle, Type declaredType)

References System.Runtime.Serialization.Dictionary, System.Runtime.Serialization.XmlObjectSerializerContext.GetDataContract(), System.Runtime.Serialization.XmlObjectSerializerContext.GetDataContractSkipValidation(), System.Runtime.Serialization.DataContract.GetId(), System.Type.GetTypeFromHandle(), System.Runtime.Serialization.CollectionDataContract.IsCollectionInterface(), System.obj, System.Runtime.Serialization.XmlObjectSerializerWriteContext.OnHandleIsReference(), System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(), System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteClrTypeInfo(), System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteResolvedTypeInfo(), and System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteTypeInfo().

Referenced by System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(), and System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerializeWithSurrogate().