gpt4 book ai didi

c# - 将一个表达式转换为另一个表达式

转载 作者:太空狗 更新时间:2023-10-29 23:31:07 24 4
gpt4 key购买 nike

我有以下表达

Expression<Func<T, object>> expr1;

有什么办法可以把它转换成

Expression<Func<IUpdateConfiguration<T>, object>>

[更新]

或者创建一个新的 Expression<Func<IUpdateConfiguration<T>, object>>来自现有的 Expression<Func<T, object>>

最佳答案

没有。第一个是接受 T 的函数。并返回 object .第二个接受 IUpdateConfiguration<T>并返回 object .除非T也是一个IUpdateConfiguration<T> ,你不能投这个。如果您知道转换 IUpdateConfiguration<T> 的方法进入 T ,您可以创建一个 表达式,但这与强制转换不同。

例如,给定这个:

Expression<Func<IUpdateConfiguration<T>, T> expr2;

您可以像这样制作您想要的功能:

Expression<Func<IUpdateConfiguration<T>, object>> = 
(IUpdateConfiguration<T> t) => expr1(expr2(t));

但这会和原来的表情体完全不同。这可能是问题,也可能不是问题,具体取决于您要实现的目标。

关于c# - 将一个表达式转换为另一个表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24593304/

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