2010-08-02 15 views
7

Esiste un framework che renda più facile l'uso di Reflection.Emit? Qualcosa che posso dire: dammi una lezione con un campo stringa e ottieni, imposta i metodi di accesso.Framework per .net Reflection.Emit semplificazione?

Il codice che trovo in Create a class type in code in .net c# è quello che mi serve, ma è un po 'criptico. Penso che una libreria con un'interfaccia semplificata aumenterebbe la produttività.

+3

Provare ExpandoObject: http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject.aspx – Kimi

risposta

4

Penso che tu abbia appena descritto CodeDOM. Sfortunatamente, non lo rende (IMO) davvero più semplice - lo rende solo ... diverso.

Personalmente, mi basta usare TypeBuilder, ILGenerator e incapsulare le funzionalità comuni che ho bisogno, vale a dire

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

Meta-programmazione è raramente semplice, ma da quel dettaglio si ottiene una buona comprensione molto di cosa sta realmente accadendo.

+0

Certamente darò un'occhiata a CodeDOM. Dalla prima impressione, mi piace. –

3

Dai uno sguardo allo CCI.

+0

CCI è certamente un'opzione, che prenderò in considerazione. Grazie. –