Фреймворк для .net Reflection.Emit упрощение? - PullRequest
7 голосов
/ 02 августа 2010

Существуют ли рамки, облегчающие использование Reflection.Emit? Что-то, что я могу сказать: Дайте мне класс со строковым полем и получите, установите методы доступа.

Код, который я нахожу в Создать тип класса в коде в .net c # это то, что мне нужно, но это несколько загадочно. Я думаю, что библиотека с упрощенным интерфейсом повысила бы производительность.

Ответы [ 2 ]

4 голосов
/ 02 августа 2010

Я думаю, вы только что описали CodeDOM .К сожалению, на самом деле (IMO) это не делает проще - оно просто делает это ... другим.

Лично я бы просто использовал TypeBuilder, ILGenerator иинкапсулируйте общую функциональность, которая мне нужна, то есть

PropertyBuilder CreateProperty(TypeBuilder type, string name, Type propertyType)
{...}

Мета-программирование редко бывает простым, но из этой детали вы получите очень хорошее понимание того, что на самом деле происходит.

3 голосов
/ 02 августа 2010

Посмотрите на CCI .

...