Kennzeichnet eine Klasse als statisch, die nur statische Elemente enthält. Wird ein Feld,
eine Methode, eine Eigenschaft, ein Ereignis, ein Konstruktor oder ein Operator als statisch
gekennzeichnet, so verhält sich dieser klassen- und nicht instanzgebunden, und existiert nur
ein Mal je Klasse, unabhängig von der Anzahl der Instanzen dieser Klasse.
Wird ein Element als statisch gekennzeichnet, kann nicht mit Hilfe des Schlüsselwortes
this darauf verwiesen werden. Statt dessen findet der Zugriff über
den Klassennamen statt, der gegebenenfalls vollqualifiziert werden muss. Die Angabe der
Klasse kann entfallen, sofern sich das statische Element im gleichen Bereich befindet wie
der Aufruf.
Wenn eine Klasse als statisch gekennzeichnet wird, müssen alle enthaltenen Elemente
statisch sein.
So wohl statische wie auch nicht-statische Klassen können einen über statischen Konstruktor
verfügen, der als Typinitialisierer fungiert. Ein statischer Konstruktor wird irgendwann
zwischen dem Start der Anwendung und dem ersten Zugriff auf die statische Klasse ausgeführt.
Indexer, Destruktoren und Typen, die keine Klassen sind, können nicht als statisch
gekennzeichnet werden.