using System; class ClaseA { protected virtual void F() { Console.WriteLine ("X.F"); } protected virtual void F2() { Console.WriteLine ("X.F2"); } } class ClaseB : ClaseA { sealed protected override void F() { Console.WriteLine ("Y.F"); } protected override void F2() { Console.WriteLine ("X.F3"); } } class ClaseC : ClaseB { // Attempting to override F causes compiler error CS0239 // protected override void F() { Console.WriteLine ("C.F"); } // Overriding F2 is allowed protected override void F2() { Console.WriteLine ("Z.F2"); } public static void Main () { } }