Как обеспечить вызов статических конструкторов без вызова какого-либо члена

У меня есть класс со статическим конструктором.

Я хочу, чтобы статический конструктор вызывался без вызова или использования каких-либо его членов, но только если конструктор еще не был вызван.

Я пытался использовать отражение. С отражением я могу вызвать статический конструктор (много раз), но я не могу узнать, был ли он уже вызван ранее.

Как мне это сделать?

РЕДАКТИРОВАТЬ
Это не только ОДИН класс, о котором я говорю, это может быть и больше. Допустим, все классы отмечены специальным атрибутом.

1 ответ

Решение

Вы можете использовать RuntimeHelpers.RunClassConstructor метод (при условии, что я правильно понял, что вы пытались сделать...)

RuntimeHelpers.RunClassConstructor(typeof(YourType).TypeHandle);
Другие вопросы по тегам