Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
A static member 'function' in a class or struct cannot be marked as override, virtual, or abstract.
Any method declaration in a class or struct that uses the override, virtual, or abstract keyword cannot also use the static keyword.
Before C# 11, interface members could not combine static with override, virtual, or abstract. Beginning with C# 11, interface methods, properties, events, and operators can combine static with abstract or virtual by using static abstract or static virtual.
For more information, see Methods.
The following sample generates CS0112:
// CS0112.cs
namespace MyNamespace
{
abstract public class MyClass
{
public abstract void Foo();
}
public class MyClass2 : MyClass
{
override public static void Foo() // CS0112, remove static keyword
{
}
public static int Main()
{
return 0;
}
}
}