Как обеспечить вызов статических конструкторов без вызова какого-либо члена
У меня есть класс со статическим конструктором.
Я хочу, чтобы статический конструктор вызывался без вызова или использования каких-либо его членов, но только если конструктор еще не был вызван.
Я пытался использовать отражение. С отражением я могу вызвать статический конструктор (много раз), но я не могу узнать, был ли он уже вызван ранее.
Как мне это сделать?
РЕДАКТИРОВАТЬ
Это не только ОДИН класс, о котором я говорю, это может быть и больше. Допустим, все классы отмечены специальным атрибутом.
1 ответ
Решение
Вы можете использовать RuntimeHelpers.RunClassConstructor
метод (при условии, что я правильно понял, что вы пытались сделать...)
RuntimeHelpers.RunClassConstructor(typeof(YourType).TypeHandle);