Прежде всего, я получил ответ в What is the use of static constructors?, но я хочу получить ответ в этом контексте.Зачем нам нужны статические конструкторы?
Вот мой C# статический класс:
public static class BasicClass
{
static int i = 0;
static BasicClass()
{
i = 10;
}
public static void Temp()
{
//some code
}
public static void Temp1()
{
//some code
}
}
Внутри этого у меня есть статическая переменная i
которая инициализируется до 10, когда он первый называется. Таким образом, в основном это может быть цель статического конструктора, но одно и то же может быть достигнуто без объявления статического конструктора путем инициализации static int i = 10
, который служит той же цели, которая инициализируется только один раз.
Тогда зачем нам нужен статический конструктор? Или я совершенно не прав в понимании концепции или использования статических конструкторов?
Что делать, если ваша программа использует файл конфигурации? Вы захотите сохранить свою конфигурацию в статических переменных, но сначала вам нужно будет прочитать их из файла, и если файл не существует (или вы не можете его открыть по каким-либо другим причинам), вы будете хотите установить эти конфигурации в значения по умолчанию. Для этого используется ** статический конструктор **. – Nolonar