Поделиться через


Ошибка компилятора CS0506

Обновлен: Ноябрь 2007

Сообщение об ошибке

Функция 'function1': не может переопределить унаследованный член 'function2', потому что он не имеет модификатора virtual, abstract или override
'function1' : cannot override inherited member 'function2' because it is not marked "virtual", "abstract", or "override"

Был переопределен метод, не имеющий явного модификатора virtual, abstract или override.

Следующий пример проводит к генерированию ошибки 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;
      }
   }
}