private static bool MemberIsField(MemberInfo[] mi) { int upperBound = mi.GetUpperBound(0); for (int i = 0; i <= upperBound; i++) { info = mi[i]; if ((info != null) && (info.MemberType == MemberTypes.Field)) { int num4 = mi.GetUpperBound(0); for (int j = 0; j <= num4; j++) { if (((i != j) && (mi[j] != null)) && info.DeclaringType.IsSubclassOf(mi[j].DeclaringType)) { mi[j] = null; } } } } foreach (MemberInfo info in mi) { if ((info != null) && (info.MemberType != MemberTypes.Field)) { return false; } } return true; }
internal static MemberInfo[] GetNonGenericMembers(MemberInfo[] Members) { if ((Members != null) && (Members.Length > 0)) { int num = 0; int upperBound = Members.GetUpperBound(0); for (int i = 0; i <= upperBound; i++) { if (LegacyIsGeneric(Members[i])) { Members[i] = null; } else { num++; } } if (num == (Members.GetUpperBound(0) + 1)) { return Members; } if (num > 0) { MemberInfo[] infoArray2 = new MemberInfo[(num - 1) + 1]; int index = 0; int num6 = Members.GetUpperBound(0); for (int j = 0; j <= num6; j++) { if (Members[j] != null) { infoArray2[index] = Members[j]; index++; } } return infoArray2; } } return null; }