.net 是否有第三方库知道将linq表达式转换为人类可读的字符串表示?

.net 是否有第三方库知道将linq表达式转换为人类可读的字符串表示?,.net,linq,lambda,expression-trees,human-readable,.net,Linq,Lambda,Expression Trees,Human Readable,我有一个linq表达式,我希望以人类可读的形式在日志中显示它。有人知道有哪个图书馆能做到这一点吗?我看到了这个条目,但在我看来,它没有那么有用 谢谢 编辑 现在我想起来了,我的例子可能没有那么有代表性,因为我的linq表达式中包含了一个类型名,它被ToString扩展成了一个非常可怕的东西,因为该类型是泛型的。例如,表达式e=>e.TypeName==typeof(T).AssemblyQualifiedName,其中T是我的通用上下文,扩展为: "e => (e.TypeName ==

我有一个linq表达式,我希望以人类可读的形式在日志中显示它。有人知道有哪个图书馆能做到这一点吗?我看到了这个条目,但在我看来,它没有那么有用

谢谢

编辑

现在我想起来了,我的例子可能没有那么有代表性,因为我的linq表达式中包含了一个类型名,它被ToString扩展成了一个非常可怕的东西,因为该类型是泛型的。例如,表达式
e=>e.TypeName==typeof(T).AssemblyQualifiedName
,其中T是我的通用上下文,扩展为:

"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\")"

看起来要求程序集限定名的格式很好是不公平的…

您可以直接使用
ToString
,输出是相当可读的,至少对程序员来说是这样…

如果您正在寻找可以直接使用的现成的东西,那么该链接对您没有帮助。因为我不认为你想要的东西已经存在,但是,你应该仔细看看这个链接。如果您知道如何遍历表达式树,就可以轻松地构建一个字符串,以任意方式描述内容。但是,使用just.ToString()呈现表达式有什么问题?你能把代码发布到你的LINQ表达式中吗?我知道如何遍历LINQ表达式。但这至少是一天的工作,如果我能保住它——我赢了。当然,我理解。不过,你能发布你的LINQ代码,以及你希望得到的“人类可读”输出的示例吗?@Kirk,我错了。看来我的要求不合理。。。