8000
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
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