Нет способа создать DynamicMethod с Cecil, и при этом у него нет эквивалента.
DynamicMethod сильно привязан к среде выполнения, а Сесил полностью отделен. У двух из них есть совершенно отдельная система типов. DynamicMethod должен быть динамичным и поэтому должен использовать систему типов System.Reflection, так как она доступна во время выполнения. Mono.Cecil имеет другое представление системы этого типа, подходящей для статического анализа, без необходимости фактически загружать сборку во время выполнения. Поэтому, если вы хотите использовать DynamicMethod, вы должны использовать его вместе со средой.
Этот вопрос первоначально задавался, iirc, в контексте сред выполнения без DynamicMethods или SRE, например, Compact Framework, где Cecil может использоваться для выдачи кода во время выполнения.
Конечно, это возможно, но тогда вам придется заплатить цену загрузки сборки, что немаловажно для CF-устройств. Это означает, что если бы вы могли каким-то образом эмулировать DynamicMethod, создавая сборку только с одним статическим методом с помощью Cecil, это звучит ужасно. Сборки не могут быть собраны (DynamicMethods), что делает его гигантской утечкой памяти.
Если вам нужно испускать код во время выполнения на Compact Framework, испускайте как можно меньше и испускайте как можно меньше сборок.