Модуль инициализаторы в C #

Инициализаторы модулей - это функция CLR, которая не доступна напрямую в C # или VB.NET. Это глобальные статические методы, названные.cctor которые гарантированно выполняются перед выполнением любого другого кода (инициализаторы типов, статические конструкторы) в сборке. Недавно я хотел использовать это в проекте ивзломали мое собственное решение (консольная программа / задача msbuild) используя Mono.Cecil, но мне было интересно:

Есть ли способ обмануть компилятор C # в инициализаторах излучающих модулей? Какие-нибудь атрибуты (например, CompilerGenerated, SpecialName) или другие хитрости, которые можно использовать?

Вызывает ли когда-нибудь C # / VB.NET сами эти инициализаторы для какой-то цели? Из того, что яЯ видел, что они используются управляемым C ++ для некоторых целей взаимодействия, но я не могне найти никаких ссылок на них, используемых для других целей. Есть идеи?

Ответы на вопрос(4)

Ваш ответ на вопрос