gpt4 book ai didi

c# - 如何在 C# 中创建自定义 System.Linq.Expression 类?

转载 作者:行者123 更新时间:2023-11-30 12:18:57 25 4
gpt4 key购买 nike

是否可以创建自定义表达式类?如果是这样,有没有人有任何例子?从框架抽象 Expression 类继承会带来一个问题,因为它的构造函数接受一个 ExpressionType 参数,这是一个框架枚举类型——我显然无法自定义它!

有什么想法吗?

最佳答案

在 .net 3.5 中,您无法执行此操作,因为 Expression 构造函数采用 ExpressionType 枚举值,并且您无法向该枚举添加新的节点类型。

您也不能重载现有的节点类型,因为您不能从任何“叶类”(如 BinaryExpression)继承,因为它们都是密封的。

根据 MSDN 文档,您似乎可以在 CLR v4 中执行此操作,只要您覆盖“Reduce”方法并使用节点类型 ExpressionType.Extension。

关于c# - 如何在 C# 中创建自定义 System.Linq.Expression 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/981488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com