Это очень сильно зависит от того, чего вы пытаетесь достичь.Не зная вашего конкретного сценария, трудно предложить правильный инструмент для работы.
Если вам нужно генерировать динамические методы во время выполнения, Reflection.Emit
идеально подходит для этого.Если вы хотите изменить сборку, смотрите не дальше Mono.Cecil .Имейте в виду, что все эти инструменты требуют понимания метаданных .NET и MSIL.
Однако, если вы пытаетесь сделать что-то, что требует, например, проверки или изменения типов или методов, вы можете захотетьпосмотреть на решение АОП, как PostSharp .Это позволит вам выразить эти потребности на гораздо более высоком уровне, чем MSIL.
Опять же, все это очень сильно зависит от вашего варианта использования.
Отказ от ответственности: я работаю в SharpCrafters, создателяхPostSharp