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;
}
}
}