Static Classes
suggest changeThe “static” keyword when referring to a class has three effects:
- You cannot create an instance of a static class (this even removes the default constructor)
- All properties and methods in the class must be static as well.
- A
static
class is asealed
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
}
```
}
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents