表达式树创建和 ExpressionTree 转换类型

发布于 2024-09-19 15:34:07 字数 355 浏览 5 评论 0原文

可以说我有:

anything.where(x=>x.age == int.parse(txtage.text));

现在我知道 int.parse(txtage.text) 是 ExpressionType.Convert 类型的表达式,

现在我想知道如何手动创建 ExpressionType.Convert 类型的表达式(以编程方式)

为什么 ?

因为我在层之间传递表达式并更改它的类型,所以我设法访问每个表达式并重建它,除了

case ExpressionType.Convert:

有什么想法吗?提前致谢。

lets say i have :

anything.where(x=>x.age == int.parse(txtage.text));

now i know that int.parse(txtage.text) is an expression of type ExpressionType.Convert

now i wanna know how to create an expression of type ExpressionType.Convert manually (programatically)

why ?

because im passing expressions between layers and changing the type of it , i managed make a visit to every expression and rebuild it except for

case ExpressionType.Convert:

any idea ? thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

彩扇题诗 2024-09-26 15:34:10

不,int.Parse(txtage.text) 是方法调用,而不是转换表达式。您可以使用 Expression.Call

但是,如果您确实想要构建转换表达式,请使用 表达式.Convert

No, int.Parse(txtage.text) is a method call, not a conversion expression. You'd build it using Expression.Call.

However, if you do want to build a conversion expression, use Expression.Convert.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文