Я думаю, вы только что описали CodeDOM .К сожалению, на самом деле (IMO) это не делает проще - оно просто делает это ... другим.
Лично я бы просто использовал TypeBuilder
, ILGenerator
иинкапсулируйте общую функциональность, которая мне нужна, то есть
PropertyBuilder CreateProperty(TypeBuilder type, string name, Type propertyType)
{...}
Мета-программирование редко бывает простым, но из этой детали вы получите очень хорошее понимание того, что на самом деле происходит.