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

◆ GetMember()

static MemberInfo System.Xml.Serialization.ReflectionXmlSerializationHelper.GetMember ( Type declaringType,
string memberName,
bool throwOnNotFound )
inlinestatic

Definition at line 9 of file ReflectionXmlSerializationHelper.cs.

10 {
11 MemberInfo[] member = declaringType.GetMember(memberName);
12 if (member == null || member.Length == 0)
13 {
14 bool flag = false;
15 Type baseType = declaringType.BaseType;
16 while (baseType != null)
17 {
18 member = baseType.GetMember(memberName);
19 if (member != null && member.Length != 0)
20 {
21 flag = true;
22 break;
23 }
24 baseType = baseType.BaseType;
25 }
26 if (!flag)
27 {
29 {
30 throw new InvalidOperationException(System.SR.Format(System.SR.XmlInternalErrorDetails, $"Could not find member named {memberName} of type {declaringType}"));
31 }
32 return null;
33 }
35 }
36 MemberInfo result = member[0];
37 if (member.Length != 1)
38 {
39 MemberInfo[] array = member;
40 foreach (MemberInfo memberInfo in array)
41 {
42 if (declaringType == memberInfo.DeclaringType)
43 {
44 result = memberInfo;
45 break;
46 }
47 }
48 }
49 return result;
50 }
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string XmlInternalErrorDetails
Definition SR.cs:1814
Definition SR.cs:7

References System.array, System.Type.BaseType, System.Xml.Dictionary, System.SR.Format(), and System.SR.XmlInternalErrorDetails.

Referenced by System.Xml.Serialization.ReflectionXmlSerializationHelper.GetEffectiveGetInfo(), and System.Xml.Serialization.ReflectionXmlSerializationHelper.GetEffectiveSetInfo().