c# - 如何获取生成 lambda 表达式的(源代码)字符串?

标签 c# lambda tostring

(对于 LISP 黑客来说:我正在寻找 C# 中的 LISP 引用等效项)

我正在尝试为一个以 Func 作为成员的类编写一个有意义的 ToString 方法。有经验的 API 用户可以通过 setter 方法设置此成员,例如

myClassObject.SetFunction( (x) => x*x );

现在,当我在成员上使用 ToString 方法时,它只返回

System.Func<double,double>

这不是很有帮助。有帮助的是

"(x) => x*X"

有什么(最好是简单的)方法可以做到这一点吗?

感谢您的帮助或评论。

编辑:更正了一些拼写错误

最佳答案

Expression<Func<double,double>> expr = x => x * x;
string s = expr.ToString(); // "x => (x * x)"

关于c# - 如何获取生成 lambda 表达式的(源代码)字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7272020/

相关文章:

c# - 为什么我的 XmlReader.GetAttribute() 没有返回值?

c# - 通过畸变矩阵从鼠标转换光线

c++ - 带有字符串可选参数的QT C++函数

java - Java 中 lambda 表达式的错误转换

java - 具有泛型的多个 toString() 方法

java - 如何让 JButton 在每次单击时添加 double

c# - SendGrid 给邮件添加类别

c# - 提供桌面和移动平台之间的差异

python - 如何使用 AWS Lambda 通过创建临时文件将 'file' 上传到 S3?

c++ - 如何使用 for_each 获取 vector 中值的索引?