Создание кода при помощи Reflection.Emit

В этой главе:

  • Сценарии для генерации кода во время выполнения
  • Краткий обзор кодов операций (opcode)
  • Построение кода при помощи Reflection.Emit и DynamicMethod

В главе 4 было показано, как можно создать код с помощью CodeDOM. Другой вариант в .NET позволяет вам делать то же самое, за исключением того, что IL используется напрямую для создания кода во время выполнения. Это обеспечивает значительный прирост производительности и доступ к любой функции, которая поддерживается CLR. Все поддерживаемые классы существует в пространстве имен System.Reflection.Emit, и этому посвящена данная глава. Мы расскажем, как работают коды операций, а затем вы увидите примеры создания динамических сборок и методов.

Первое, что вы должны понять, это то, почему кто-то вообще должен вникать в классы Reflection.Emit для решения конкретных проблем. И это мы рассмотрим в следующем разделе.

Почему классы Reflection.Emit?

Сборка изнутри

Тур по opcode

Создание динамических сборок

Легковесная генерация кода при помощи динамических методов

Резюме

или RSS канал: Что новенького на smarly.net