вы используете статический конструктор, например:
public class Foo
{
static Foo()
{
// inits
}
}
Вот подробнее .
Итог: это конструктор без параметров с прикрепленным к нему ключевым словом static
. Работает так же, как статический блок в Java.
Редактировать: Еще одна вещь, которую стоит упомянуть. Если вы просто хотите создать что-то статически, вы можете статически инициализировать переменную без необходимости использования статического конструктора. Например:
public class Foo
{
public static Bar StaticBar = new Bar();
}
Имейте в виду, что вам понадобится статический конструктор, если вы хотите вызывать какие-либо методы в Bar во время статической инициализации, поэтому вашему примеру, который вызывает Foo.Init()
, все еще нужен статический конструктор. Я просто говорю, что вы не ограничены, вот и все. :)