ein Projekt von goloroden.de

static

Allgemeines

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.

Beipiel

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;

namespace GoloRoden.GuideToCSharp
{
    /// <summary>
    /// Represents the application class.
    /// </summary>
    public class Program
    {
        /// <summary>
        /// Executes the application.
        /// </summary>
        public static void Main()
        {
        }
    }
}

Details

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.

Siehe auch (Referenz)

Siehe auch (Guide)