I'm currently over analysing and following virtual override methods and 
interface implementation methods. I found the Rocks methods GetBaseMethod 
and GetOriginalBaseMethod which seem to do exactly that. They already work 
great in simple scenarios. But I wondered (and verified by a test) that it 
does not stop on a newslot method. Consider the following classes:

class A
{
    public virtual void M() { }
}
class B : A
{
    public virtual new void M() { }
}

I'd expect the base method of B.M not be A.M but that's what Cecil tells 
me. B.M has IsVirtual and IsNewSlot set so I think the search should stop 
there and not use a method of the same name in the base class because the 
"new" keyword indicates that these methods are explicitly not the same.

Is this by design and I need to make my own method for that, or should 
Cecil do that already?

Tested with version 0.9, but the latest commit looks the same.

-- 
-- 
--
mono-cecil
--- 
You received this message because you are subscribed to the Google Groups 
"mono-cecil" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to