gpt4 book ai didi

c# - 从 NewExpression 成员获取链中属性的名称

转载 作者:行者123 更新时间:2023-11-30 23:31:41 26 4
gpt4 key购买 nike

假设这个表达式:

Expression<Func<DateTime, dynamic>> exp = dt => new { dt.Second, dt.Hour, dt.Date.Day };

我需要获取以下内容:"Second", "Hour", "Date.Day"

我能完成的最好的是:

var body = exp.Body as NewExpression;
foreach(var member in body.Members)
member.Name().Dump();

但我只得到:"Second", "Hour", "Day"


这有点类似于this question但我在这里处理的是 NewExpression。

最佳答案

也许您可以尝试使用 Arguments 而不是 Members

var body = exp.Body as NewExpression;
foreach (var member in body.Arguments)
{
Console.WriteLine(member);
}

输出是:

dt.Second
dt.Hour
dt.Date.Day

关于c# - 从 NewExpression 成员获取链中属性的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34514799/

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