Since Cecil doesn't provide a way to get the list of all the methods that are overridden implicitly by a given method, I was trying to implement it manually.
I came across the following prb : How the CLR decides if two method signatures are the same! i.e : • The two signatures instance void VMethod(class ClassA) instance void VMethod(class [MyAssembly]ClassA) are considered different within the same type... (ClassA) • But when it comes to implicit method overriding, a method with the first signature can override a method with the second one and vice versa ! It's more confusing when 2 methods with the two signatures are overridden by 2 other methods with the two signatures too (ClassB). Which method will override which one. When I tried it (MethodSignaturesAndOverriding.il), I noted that it's the last method emitted in the class B that overrides the two virtual methods of the class A. I noted also that it's the last method emitted in the class C that overrides the two virtual methods of the class A. How does the CLR decides which method overrides which one? --~--~---------~--~----~------------~-------~--~----~ -- mono-cecil -~----------~----~----~----~------~----~------~--~---
