статический конструктор класса запускается один раз при любом самом первом обращении к этому классу, при этом также создаются и инициализируются поля
Конечно. Например в классе Math я всегда могу получить значение PI.
Это сам класс статический, но у нас то класс обыкновенный!
Это сам класс статический, но у нас то класс обыкновенный!
А если мы к нему не обращались, никак не создавали, мы можем использовать внутри описанные статичные переменные?
Можем. При первом обращении конструктор вызовется автоматически
как только исполнение программы дойдет до места Analyzer.FieldName - перед этим автоматически произойдет вызов статического конструктора static Analyzer()
Если поля этого класса описаны как статические и на месте инициализируются, например:
class Analyzer
{
static public string FieldName = "olololo";
...
}
это просто синтаксический сахар и на самом деле преобразуется в:
class Analyzer
{
static public string FieldName;
static Analyzer
{
FieldName = "olololo";
}
...
}