Heim  >  Artikel  >  Backend-Entwicklung  >  Statischer Konstruktor in C#

Statischer Konstruktor in C#

王林
王林Original
2024-09-03 15:12:52513Durchsuche

Statische Konstruktoren in C# sind Konstruktoren, die so implementiert sind, dass sie nur einmal und nur während der Erstellung der Referenz für ein in der Klasse implementiertes statisches Mitglied aufgerufen werden. Die Hauptfunktion eines statischen Konstruktors besteht darin, die statischen Mitglieder für die Klasse zu initialisieren und nur einmal auszuführen. Wie der Name schon sagt, ermöglicht der statische Konstruktor keine explizite Kontrolle durch den Benutzer, sondern wird automatisch beim Aufruf der Instanz der Klasse ausgeführt. Darüber hinaus akzeptiert der statische Konstruktor in seiner Definition keine Parameter oder Zugriffsdeklarationen und kann dies daher tun Nicht direkt angerufen werden. Statische Konstruktoren können nicht vererbt oder überladen werden und sind nur für die CLR (Common Language Runtime) zugänglich.

Funktionen und Verwendung statischer Konstruktoren in C#

Im Folgenden werden einige Funktionen und Verwendungsmöglichkeiten statischer Konstruktoren in c# ausführlich erläutert:

Funktionen für Static Constructor

Die folgenden Funktionen beschreiben den statischen Konstruktor:

  • Der Benutzer hat zur Laufzeit keine Kontrolle über den statischen Konstruktor. Diese werden vor der Vorkompilierung im Code vordefiniert und der Wert bleibt für die gesamte Dauer fest.
  • Der statische Konstruktorvorgang kann weiter in zwei Phasen unterteilt werden, d. h. die Initialisierung statischer Datenelemente und die Ausführung statischer Aktionen, die in der definierten Reihenfolge erfolgt.
  • Eine statische Methode hat keinen Zugriffsmodifikator in ihren Definitionen und kann daher nicht von anderen Komponenten im Programm aufgerufen werden.

Verwendungen für Static Constructor

Statische Konstruktoren finden ihre Hauptanwendung in Protokollprogrammen, wo sie zum Schreiben der Parametereinträge verwendet werden, die während jeder Instanz initialisiert werden. Statische Konstruktoren sind die idealen Orte zum Erstellen von Datenbankverbindungen, da sie zuerst geladen werden und durchgehend statisch bleiben. In der Programmiersprache C# folgen die statischen Konstruktoren der folgenden Syntax.

Syntax:

class ABC
{
//defining the static constructor using the same name as class
static ABC()
{
//constructor specific code comes here
}
}

Wie funktionieren statische Konstruktoren in C#?

Hier sind einige grundlegende Arbeitsprinzipien des statischen Konstruktors in C#, die wie folgt lauten:

  • Wenn eine Klasse oder ein Objekt der Klasse als Struktur erstellt wird, werden Konstruktoren aufgerufen, die mit der Klasse verknüpften Datenelemente zu erstellen. Diese Konstruktoren haben den gleichen Namen wie die Klasse.
  • Um das Konzept statischer Konstruktoren zu verstehen, müssen wir zunächst das Konzept hinter statischen Methoden und Klassen verstehen.
  • Eine statische Klasse unterscheidet sich von einer regulären Klasse dadurch, dass die statische Klasse nicht instanziiert werden kann, d. h. das Schlüsselwort new kann nicht zum Erstellen der neuen Instanz der Klasse verwendet werden.
  • Daher kann nicht mit der neuen Instanz auf die Klasse zugegriffen werden und sie muss über den statischen Klassennamen selbst aufgerufen werden. Diese Klassen werden verwendet, um die Eingabefelder zu bearbeiten und werden verwendet, um einen anfänglichen und festen Wert der Eingabeparameter zu erstellen.
  • Ein statischer Konstruktor wird, wie der Name schon sagt, zum Einrichten oder Initialisieren aller statischen Daten verwendet, die in den vorgerenderten Phasen des Klassenkonstrukts erforderlich sind. Der statische Konstruktor wird aufgerufen, bevor die erste Instanz der Klasse erstellt wird oder die Referenz nach statischen Mitgliedern durchsucht wird.
  • Daher kann man statische Konstruktoren als die erste Instanz der Klasse definieren, die zur Laufzeit erstellt wird. Auch dies ist ein einmaliges Ereignis und wird nicht noch einmal wiederholt.

Beispiele zur Implementierung statischer Konstruktoren

Hier sind einige Beispiele für statische Konstruktoren in C#, die unten aufgeführt sind:

Beispiel #1

Code:

using System;
namespace HappyConstructor {
class Happy {
//let us declare and initialise the static data members
private static int id = 7;
public static int Id {
get {
return id;
}
}
public static void printVariable() {
Console.WriteLine("Happy.id = " + id);
}
static void Main(string[] args) {
//let us print the value of ID from the class
Happy. printVariable ();
}
}
}

Ausgabe:

Statischer Konstruktor in C#

Erklärung: Oben wird die statische Mitglieds-ID zur Verwendung deklariert und auf den Anfangswert 10 initialisiert.

Beispiel #2

Code:

using System;
namespace Happy1Constructor {
class Happy1 {
private static int Id;
//data member (id) is set conditionally here to show actions of a Static constructor
static Happy1 () {
if (Happy1.Id < 10) {
Id = 25;
} else {
Id = 1000;
}
Console.WriteLine("Static Constructor for Class Happy Called..");
}
public static void print() {
Console.WriteLine("Happy1.Id = " + Id);
}
public static void Main(string[] args) {
// the value of Id is displayed as
Happy1.print();
}
}
}

Ausgabe:

Statischer Konstruktor in C#

Erklärung: Im obigen Beispiel ist der Konstruktor bedingt von der in Beispiel 1 generierten Happy.cs-Datei abhängig. Hier initialisiert sich der statische Konstruktor. Da es sich im ersten Fall um einen Wert handelt, beträgt das generierte Id-Feld 7. Wenn der Wert des Felds gemäß dem Bedingungsoperator kleiner als 10 ist, beträgt der Wert für das Id-Feld für den Happy1-Konstruktor 25. Dies ist ein klassisches Beispiel der Initialisierung eines statischen Konstruktors beim ersten Laden der Klasse. Der statische Konstruktor nutzt diese Funktion, um die Eingabeparameter für die Programmreferenzierung vorab zu laden.

Fazit

Ein statischer Konstruktor wird zum Initialisieren statischer Daten und/oder zur Ausführung bestimmter Aktionen verwendet, die nur einmal für das Programm ausgeführt werden müssen. Dieser Konstruktor wird aufgerufen, bevor eines der Objekte der Klasse initiiert oder eines der Mitglieder in die Laufzeitumgebung geladen wird.

Das obige ist der detaillierte Inhalt vonStatischer Konstruktor in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Konstruktor in C# kopierenNächster Artikel:Konstruktor in C# kopieren