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

◆ GetFieldInfo() [2/2]

static FieldInfo System.RuntimeType.GetFieldInfo ( RuntimeType reflectedType,
IRuntimeFieldInfo field )
inlinestaticpackage

Definition at line 1767 of file RuntimeType.cs.

1768 {
1769 RuntimeFieldHandleInternal value = field.Value;
1770 if (reflectedType == null)
1771 {
1772 reflectedType = RuntimeFieldHandle.GetApproxDeclaringType(value);
1773 }
1774 else
1775 {
1776 RuntimeType approxDeclaringType = RuntimeFieldHandle.GetApproxDeclaringType(value);
1777 if (reflectedType != approxDeclaringType && (!RuntimeFieldHandle.AcquiresContextFromThis(value) || !RuntimeTypeHandle.CompareCanonicalHandles(approxDeclaringType, reflectedType)))
1778 {
1779 throw new ArgumentException(SR.Format(SR.Argument_ResolveFieldHandle, reflectedType, approxDeclaringType));
1780 }
1781 }
1782 FieldInfo field2 = reflectedType.Cache.GetField(value);
1783 GC.KeepAlive(field);
1784 return field2;
1785 }

References System.RuntimeFieldHandle.AcquiresContextFromThis(), System.SR.Argument_ResolveFieldHandle, System.RuntimeTypeHandle.CompareCanonicalHandles(), System.SR.Format(), System.RuntimeFieldHandle.GetApproxDeclaringType(), System.GC.KeepAlive(), and System.value.