Existe-t-il un moyen de désérialiser les expressions en C# ? J'aimerais stocker les expressions dans une base de données et les charger au moment de l'exécution.
Réponses
Trop de publicités?J'ai continué à travailler sur la bibliothèque qui a été mentionnée par Sérialisation et désérialisation des arbres d'expression en C#
Il semble que le projet ait été abandonné (2008) mais j'y ai travaillé et il fonctionne maintenant avec .NET 4.0 et Silverlight. J'ai corrigé des bogues dans leur code et l'ai rendu plus indépendant de DAL.
L'autre option est le Sérialisation de l'arbre d'expression sur code.msdn.com - semble être plus ce qui est nécessaire ici ?
UPD : Maintenant http://archive.msdn.microsoft.com/exprserialization
Il existe un projet sur GitHub/Nuget appelé MetaLinq qui vise à faciliter le travail avec les arbres d'expression.
Il convertit les expressions normales en "EditableExpressions", qui sont mutables et entièrement sérialisables, et peuvent donc être utilisées avec Json, Xml, Binary, etc.
Regardez aussi ceci article de blog pour plus d'informations.
Jetez un coup d'œil à ma nouvelle bibliothèque Serialize.Linq . Il sérialise les expressions linq en json, xml et binaire.