Question

Je travaille avec des arbres d'expression Linq (du db4o / Mainsoft / port Mono) sur le Compact Framework. Depuis System.Reflection.Emit n'existe pas, je ne peux pas compiler mes LambdaExpressions dans les délégués, que je veux faire pour des raisons de performance.

Je pensais que je pouvais transformer mon arbre d'expression dans IL et de fournir essentiellement la fonctionnalité Émettre manque de cette façon, mais je compris que je devais soit exécuter un ILASM basé WinCE sur ou écrire mes propres têtes PE et métadonnées assmebly.

Je préfère avoir beaucoup ILASM disponibles. Est-il?

Était-ce utile?

La solution

Apparemment, je peux compiler pour une utilisation dans le Compact Framework Mono.Cecil , qui sera permettez-moi d'émettre et des ensembles de charge.

Autres conseils

Si vous voulez utiliser un Lambda-expressions sur CF vous n'avez pas besoin ILASM ou System.Reflection.Emit. Le compilateur C # pour CF prend en charge Lamba-expressions, mais les bibliothèques de base des FC n'ont pas les classes d'expressions. Si vous ajoutez la référence à l'assemblage avec le nom correct (et corriger) mis en œuvre des classes pour les expressions, vous activez Lambda-expressions.

Merci pour Dieu, il y a cet ensemble déjà mis en œuvre ( http://evain.net/blog/articles/2008/09/22/linq-expression-trees-on-the-compact-framework ) - Je l'utilise avec db4o l'accès aux données et à l'esprit SQLCE LINQ IQueryableToolkit, et il fonctionne bien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top