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

◆ ProcessClassDataContract()

static DataContract System.Runtime.Serialization.XPathQueryGenerator.ProcessClassDataContract ( ClassDataContract contract,
ExportContext context,
MemberInfo memberNode )
inlinestaticprivate

Definition at line 96 of file XPathQueryGenerator.cs.

97 {
98 string prefix = context.SetNamespace(contract.Namespace.Value);
99 foreach (DataMember dataMember in GetDataMembers(contract))
100 {
101 if (dataMember.MemberInfo.Name == memberNode.Name && dataMember.MemberInfo.DeclaringType.IsAssignableFrom(memberNode.DeclaringType))
102 {
103 context.WriteChildToContext(dataMember, prefix);
104 return dataMember.MemberTypeContract;
105 }
106 }
107 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(System.SR.QueryGeneratorPathToMemberNotFound));
108 }
static IEnumerable< DataMember > GetDataMembers(ClassDataContract contract)
static string QueryGeneratorPathToMemberNotFound
Definition SR.cs:652
Definition SR.cs:7

References System.Runtime.Serialization.XmlObjectSerializer.CreateSerializationException(), System.Runtime.Serialization.XPathQueryGenerator.GetDataMembers(), System.prefix, System.SR.QueryGeneratorPathToMemberNotFound, System.Runtime.Serialization.XPathQueryGenerator.ExportContext.SetNamespace(), and System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError().

Referenced by System.Runtime.Serialization.XPathQueryGenerator.ProcessDataContract().