J'ai une expression linq et je souhaite l'afficher dans le journal sous une forme lisible par l'homme. Quelqu'un connaît-il une bibliothèque qui peut le faire? J'ai vu cette entrée Creating a string from a lambda expression, mais ce n'est pas très utile, à mon avis.Existe-t-il une bibliothèque tierce qui sait convertir une expression linq en une représentation de chaîne lisible par un humain?
Merci.
EDIT
Maintenant que je pense, mon cas est sans doute pas représentatif, parce que mon expression LINQ comprend un nom de type à l'intérieur, qui est développé par le ToString à quelque chose de totalement monstrueux, parce que le type est un générique. Par exemple, l'expression e => e.TypeName == typeof(T).AssemblyQualifiedName
où T est mon contexte générique est étendu à:
"e => (e.TypeName == \"Shunra.Infra.DummyEntity.Contract.IDummyEntity`1[[System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], Shunra.Infra.DummyEntity.Contract, Version=1.0.0.0, Culture=neutral, PublicKeyToken=807fc02bc4ce69db\")"
Ressemble exigeant que l'ensemble nom qualifié soit bien formaté est pas juste du tout ...
Si vous cherchez quelque chose que vous pouvez simplement utiliser sur étagère, ce lien ne vous sera pas utile. Puisque je ne pense pas qu'il existe déjà quelque chose que vous voulez, vous devriez regarder de plus près ce lien. Si vous savez comment parcourir des arborescences d'expression, vous pouvez facilement créer une chaîne décrivant le contenu comme vous le souhaitez. Cependant, qu'est-ce qui ne va pas avec le rendu des expressions avec juste .ToString()? Pouvez-vous poster le code à votre expression LINQ? –
Je sais parcourir l'expression linq. Mais c'est au moins un jour de travail et si je peux le sauver - ma victoire. – mark
bien sûr, je comprends. Pourtant, pouvez-vous poster votre code LINQ, et aussi un échantillon de ce genre de sortie "lisible par l'homme" que vous espérez? –