Thanks to visit codestin.com Credit goes to github.com
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 08344b7 commit d9c09eaCopy full SHA for d9c09ea
src/runtime/methodbinder.cs
@@ -601,6 +601,19 @@ internal class MethodSorter : IComparer
601
{
602
int IComparer.Compare(object m1, object m2)
603
604
+ var me1 = (MethodBase)m1;
605
+ var me2 = (MethodBase)m2;
606
+ if (me1.DeclaringType != me2.DeclaringType)
607
+ {
608
+ // m2's type derives from m1's type, favor m2
609
+ if (me1.DeclaringType.IsAssignableFrom(me2.DeclaringType))
610
+ return 1;
611
+
612
+ // m1's type derives from m2's type, favor m1
613
+ if (me2.DeclaringType.IsAssignableFrom(me1.DeclaringType))
614
+ return -1;
615
+ }
616
617
int p1 = MethodBinder.GetPrecedence((MethodBase)m1);
618
int p2 = MethodBinder.GetPrecedence((MethodBase)m2);
619
if (p1 < p2)
0 commit comments