// Token: 0x06000D9C RID: 3484 RVA: 0x00029C68 File Offset: 0x00027E68 private static int FindMostSpecificMethod(MethodBase m1, int[] paramOrder1, Type paramArrayType1, MethodBase m2, int[] paramOrder2, Type paramArrayType2, Type[] types, object[] args) { int num = DefaultBinder.FindMostSpecific(m1.GetParametersNoCopy(), paramOrder1, paramArrayType1, m2.GetParametersNoCopy(), paramOrder2, paramArrayType2, types, args); if (num != 0) { return(num); } if (!DefaultBinder.CompareMethodSigAndName(m1, m2)) { return(0); } int hierarchyDepth = DefaultBinder.GetHierarchyDepth(m1.DeclaringType); int hierarchyDepth2 = DefaultBinder.GetHierarchyDepth(m2.DeclaringType); if (hierarchyDepth == hierarchyDepth2) { return(0); } if (hierarchyDepth < hierarchyDepth2) { return(2); } return(1); }
private static int FindMostSpecificProperty(PropertyInfo cur1, PropertyInfo cur2) { if (!(cur1.Name == cur2.Name)) { return(0); } int hierarchyDepth1 = DefaultBinder.GetHierarchyDepth(cur1.DeclaringType); int hierarchyDepth2 = DefaultBinder.GetHierarchyDepth(cur2.DeclaringType); if (hierarchyDepth1 == hierarchyDepth2) { return(0); } return(hierarchyDepth1 < hierarchyDepth2 ? 2 : 1); }
// Token: 0x06000D9D RID: 3485 RVA: 0x00029CC8 File Offset: 0x00027EC8 private static int FindMostSpecificField(FieldInfo cur1, FieldInfo cur2) { if (!(cur1.Name == cur2.Name)) { return(0); } int hierarchyDepth = DefaultBinder.GetHierarchyDepth(cur1.DeclaringType); int hierarchyDepth2 = DefaultBinder.GetHierarchyDepth(cur2.DeclaringType); if (hierarchyDepth == hierarchyDepth2) { return(0); } if (hierarchyDepth < hierarchyDepth2) { return(2); } return(1); }
// Token: 0x06000DA1 RID: 3489 RVA: 0x00029DD0 File Offset: 0x00027FD0 internal static MethodBase FindMostDerivedNewSlotMeth(MethodBase[] match, int cMatches) { int num = 0; MethodBase result = null; for (int i = 0; i < cMatches; i++) { int hierarchyDepth = DefaultBinder.GetHierarchyDepth(match[i].DeclaringType); if (hierarchyDepth == num) { throw new AmbiguousMatchException(Environment.GetResourceString("Arg_AmbiguousMatchException")); } if (hierarchyDepth > num) { num = hierarchyDepth; result = match[i]; } } return(result); }