Then MCS must be broken. I cannot find it handling this (but it does do the
virtual check).

Greg

On Wed, Oct 27, 2010 at 9:27 AM, Fabian Schmied <[email protected]>wrote:

> > If the method is virtual on the base then it must be an
> > override otherwise its a shadow.
>
> class Base
> {
>  public virtual void M() { }
> }
>
> class Derived
> {
>  public new virtual void M() { }
> }
>
> In this case, Base.M() is virtual (and not final), but Derived.M() is
> not an override. You can see this in the metadata because Derived.M()
> has the NewSlot flag set. Methods with NewSlot are never implicit
> overrides of base methods.
>
> Cheers,
> Fabian
>
> > On Tue, Oct 26, 2010 at 3:58 PM, Greg Young <[email protected]>
> wrote:
> >>
> >> Ah yes ... That should do it thanks JB.
> >>
> >> On Tue, Oct 26, 2010 at 3:46 PM, Jb Evain <[email protected]> wrote:
> >>>
> >>> On Tue, Oct 26, 2010 at 9:42 PM, Greg Young <[email protected]>
> >>> wrote:
> >>> > but I guess I could just look if A::Foo is virtual. Not sure if that
> is
> >>> > good
> >>> > enough, will have to check ECMA docs.
> >>>
> >>> You indeed have to check whether they're virtual. You also have to
> >>> differentiate NewSlot/ReuseSlot methods for shadowing or overriding.
> >>>
> >>> --
> >>> --
> >>> mono-cecil
> >>
> >>
> >> --
> >> Les erreurs de grammaire et de syntaxe ont été incluses pour m'assurer
> de
> >> votre attention
> >
> >
> >
> > --
> > Les erreurs de grammaire et de syntaxe ont été incluses pour m'assurer de
> > votre attention
> >
> > --
> > --
> > mono-cecil
>
> --
> --
> mono-cecil




-- 
Les erreurs de grammaire et de syntaxe ont été incluses pour m'assurer de
votre attention

-- 
--
mono-cecil

Reply via email to