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

◆ ResolveJsonDataContractFromRootDataContract()

static DataContract System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.ResolveJsonDataContractFromRootDataContract ( XmlObjectSerializerContext context,
XmlQualifiedName typeQName,
DataContract rootTypeDataContract )
inlinestaticpackage

Definition at line 309 of file XmlObjectSerializerWriteContextComplexJson.cs.

310 {
312 {
314 }
315 CollectionDataContract collectionDataContract = rootTypeDataContract as CollectionDataContract;
316 while (collectionDataContract != null)
317 {
318 DataContract dataContract = ((!collectionDataContract.ItemType.IsGenericType || !(collectionDataContract.ItemType.GetGenericTypeDefinition() == typeof(KeyValue<, >))) ? context.GetDataContract(context.GetSurrogatedType(collectionDataContract.ItemType)) : context.GetDataContract(Globals.TypeOfKeyValuePair.MakeGenericType(collectionDataContract.ItemType.GetGenericArguments())));
319 if (dataContract.StableName == typeQName)
320 {
321 return dataContract;
322 }
323 collectionDataContract = dataContract as CollectionDataContract;
324 }
325 return null;
326 }

References System.Runtime.Serialization.Dictionary, System.Runtime.Serialization.XmlObjectSerializerContext.GetDataContract(), System.Runtime.Serialization.XmlObjectSerializerContext.GetSurrogatedType(), System.Runtime.Serialization.XmlObjectSerializerContext.rootTypeDataContract, System.Runtime.Serialization.DataContract.StableName, and System.Runtime.Serialization.Globals.TypeOfKeyValuePair.

Referenced by System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson.ResolveDataContractFromRootDataContract(), and System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.ResolveDataContractFromRootDataContract().