public override FieldInfo BindToField(BindingFlags bindingAttr, FieldInfo[] match, object value, CultureInfo culture)
 {
     if (((this.m_CachedMember != null) && (this.m_CachedMember.MemberType == MemberTypes.Field)) && ((match[0] != null) && (match[0].Name == this.m_CachedMember.Name)))
     {
         return (FieldInfo) this.m_CachedMember;
     }
     FieldInfo info = match[0];
     int upperBound = match.GetUpperBound(0);
     for (int i = 1; i <= upperBound; i++)
     {
         if (match[i].DeclaringType.IsSubclassOf(info.DeclaringType))
         {
             info = match[i];
         }
     }
     return info;
 }