Сохранить DynamicMethod с помощью AssemblyBuilder - PullRequest
0 голосов
/ 26 октября 2018

У меня есть DynamicMethod, и я хочу сохранить на диск в (.exe или .dll). Я нашел следующую ссылку Сохранение DynamicMethod на диск как аналогичный пост, делающий то, что мне нужно.

* Шаг 1:

   var assemblyName = new AssemblyName("SomeName");
          var assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave, @"c:");
          var moduleBuilder = assemblyBuilder.DefineDynamicModule(assemblyName.Name, assemblyName.Name +  ".dll");

  TypeBuilder builder = moduleBuilder.DefineType("Test", TypeAttributes.Public);
  var methodBuilder = builder.DefineMethod("DynamicCreate", MethodAttributes.Public, typeof(T), new[] { typeof(IDataRecord) }); 

Шаг 2:

  /* this line is a replacement for your  new DynamicMethod(....)  line of code
  /* GENERATE YOUR IL CODE HERE */

Шаг 3:

  var t = builder.CreateType();
  assemblyBuilder.Save(assemblyName.Name + ".dll");

Я понимаю шаг 1 и шаг 3, но не понимаю шаг 2. Может кто-нибудь объяснить шаг 2? У меня уже есть DymaicMethod, созданный так, как перейти на строитель?

...