Zuerst bekam ich eine Antwort in What is the use of static constructors?, aber ich möchte eine Antwort in diesem Zusammenhang.Warum brauchen wir statische Konstruktoren?
Hier ist meine C# statische Klasse:
public static class BasicClass
{
static int i = 0;
static BasicClass()
{
i = 10;
}
public static void Temp()
{
//some code
}
public static void Temp1()
{
//some code
}
}
Innerhalb dieses Ich habe eine statische Variable i
, die auf 10 initialisiert wird, wenn es zuerst genannt wird. Es kann also grundsätzlich der Zweck eines statischen Konstruktors sein, aber dasselbe kann erreicht werden, ohne einen statischen Konstruktor zu deklarieren, indem die static int i = 10
initialisiert wird, die denselben Zweck erfüllt, der nur einmal initialisiert wird.
Warum brauchen wir dann einen statischen Konstruktor? Oder bin ich völlig falsch darin, das Konzept oder die Verwendung von statischen Konstruktoren zu verstehen?
Was ist, wenn Ihr Programm eine Konfigurationsdatei verwendet? Sie möchten Ihre Konfiguration in statischen Variablen speichern, aber Sie müssen diese zuerst aus der Datei lesen, und wenn die Datei nicht existiert (oder Sie sie aus anderen Gründen nicht öffnen können), werden Sie das tun möchte diese Konfigurationen auf ihre Standardwerte setzen. Dafür kann ein statischer Konstruktor ** verwendet werden. – Nolonar