The “static” keyword when referring to a class has three effects:
static
class is a sealed
class, meaning it cannot be inherited.public static class Foo
{
//Notice there is no constructor as this cannot be an instance public static int Counter { get; set; } public static int GetCount() { return Counter; }
}
public class Program
{
static void Main(string[] args) { Foo.Counter++; Console.WriteLine(Foo.GetCount()); //this will print 1
//var foo1 = new Foo();
//this line would break the code as the Foo class does not have a constructor
}
}