Error del compilador CS0506

Actualización: noviembre 2007

Mensaje de error

'función1': no puede reemplazar el miembro heredado 'función2' porque no está marcado como "virtual", "abstract" u "override"
'function1' : cannot override inherited member 'function2' because it is not marked "virtual", "abstract", or "override"

Se reemplazó un método que no está marcado explícitamente como virtual, abstractu override.

El código siguiente genera el error CS0506:

// CS0506.cs
namespace MyNameSpace
{
   abstract public class ClassX
   {
      public int i = 0;

      public int f()
      {
         return 0;
      }
      // Try the following definition for f() instead:
      // abstract public int f();
   }

   public class ClassY : ClassX
   {
      public override int f()   // CS0506
      {
         return 0;
      }

      public static int Main()
      {
         return 0;
      }
   }
}