Domanda

Sto lavorando con alberi espressione LINQ (dal porto / Mainsoft / Mono db4o) sul Compact Framework. Dal momento che System.Reflection.Emit non esiste, non riesco a compilare i miei LambdaExpressions in delegati, che voglio fare per motivi di prestazioni.

ho pensato che forse avrei potuto trasformare il mio albero di espressione in IL e fondamentalmente fornire la funzionalità Emit mancante in quel modo, ma poi ho capito che avrei dovuto o eseguire un ILASM WinCE basata su di esso o scrivere le mie intestazioni PE e metadati Assmebly.

I Preferiamo avere ILASM disponibili. è vero?

È stato utile?

Soluzione

A quanto pare, posso compilare Mono.Cecil per l'uso sotto il Compact Framework, che sarà mi permetta di emettere e assemblee di carico.

Altri suggerimenti

Se si desidera utilizzare un lambda-espressioni sui CF non è necessario ILASM o System.Reflection.Emit. Il compilatore C # per CF supporta Lamba-espressioni, ma le librerie di base CF non hanno le classi Espressioni. Se si aggiunge riferimento al montaggio con corretta di nome (e correggere) attuate classi per le espressioni, si attiva lambda-espressioni.

Grazie per dio, ci sono questo assieme già attuate ( http://evain.net/blog/articles/2008/09/22/linq-expression-trees-on-the-compact-framework ) - io lo uso con db4o accesso ai dati e per SQLCE ingegno LINQ IQueryableToolkit, e funziona bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top