Pull to refresh

C#: Этюды, часть 7

Reading time 1 min
Views 1.8K
Сегодня простой этюд, почти без кода.

Допустим, есть некий класс и его статический конструктор:
static C()
{ Console.WriteLine("from static ctor"); }

Как известно, статические конструкторы вызываются до первого использования типа. Других ограничений нет, поэтому время его вызова вы не можете контролировать (он может вызваться как в самом начале программы, так и при первом обращении). В частности, если два класса используют друг друга в статических конструкторах, поряд вызова этих конструкторов не определен.

В общем, все очень сложно. Тем не менее, напишите код, который гарантированно вызывает указанный выше статический конструктор как раз в нужном месте.

Console.WriteLine("before static ctor");
// нужно вызвать здесь
Console.WriteLine("after static ctor");
Tags:
Hubs:
+12
Comments 60
Comments Comments 60

Articles