Partager via


Erreur du compilateur CS0506

Mise à jour : novembre 2007

Message d'erreur

'fonction1' : ne peut pas substituer le membre hérité 'fonction2', car il n'est pas marqué comme virtual, abstract ou override
'function1' : cannot override inherited member 'function2' because it is not marked "virtual", "abstract", or "override"

Une méthode a été substituée et elle n'était pas explicitement marquée comme virtual, abstract ou override.

L'exemple suivant génère l'erreur 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;
      }
   }
}