So che questa è stata una domanda vecchia, ma mi piacerebbe fornire una risposta. IKVM.Reflection.Emit
API è stata inventata quando il suo autore era stanco di System.Reflection.Emit
e Cecil.Reflection.Emit
. Per rendere il compilatore IKVMC più veloce, ha lavorato da zero per progettare questa nuova API.
La storia può essere trovato da seguenti post del blog,
2008 Aug Switch from Microsoft .NET reflection to Cecil
2008 Nov Switch from Cecil to IKVM.Reflection.Emit
2010 Jan Announce IKVM.Reflection
Quindi in generale IKVM.Reflection e Cecil hanno funzionalità simili, e IKVM.Reflection L'API dovrebbe essere più veloce in molti modi.
Fino ad ora è ancora possibile vedere Cecil è ampiamente utilizzato in molte utilità (come Obfuscar, uno strumento di offuscamento che sto mantenendo). IKVM.Reflection è utilizzato principalmente nel compilatore Mono C# e IKVM stesso, e non sono sicuro se ci siano altri progetti che lo utilizzano (ma dovrebbero essere molti).
fonte
2016-12-31 13:51:28