Delphi等效-C#表达式<;Func<;T、 对象>&燃气轮机;
Delphi Berlin是否支持C#之类的表达式树Delphi等效-C#表达式<;Func<;T、 对象>&燃气轮机;,c#,delphi,expression,C#,Delphi,Expression,Delphi Berlin是否支持C#之类的表达式树 表达式 我一直在找这个,但什么也没找到。我只找到了匿名函数,但没有找到表达式树 如何在Delphi中实现类似的功能 private string Select<T>(params Expression<Func<T, object>>[] expression) { return ... } 私有字符串选择(参数表达式[]表达式) { 返回。。。 } 例如: S
表达式
我一直在找这个,但什么也没找到。我只找到了匿名函数,但没有找到表达式树
如何在Delphi中实现类似的功能
private string Select<T>(params Expression<Func<T, object>>[] expression)
{
return ...
}
私有字符串选择(参数表达式[]表达式)
{
返回。。。
}
例如:
Select<Customer>(x=> x.Name, x=> x.Id, x=> x.Address)
Select(x=>x.Name,x=>x.Id,x=>x.Address)
主要目标是执行传递类属性的函数,以使用这些属性的名称创建字符串。否,不是直接创建。我想这是可能的,也许有人已经用这种或那种方式实现了它。然后你就进入了推荐的领域,这是一个离题的问题。Delphi中没有lambda或类似lambda的语法(但是),这是肯定的。FWIW,params是Delphi的等效语法。没有。C#编译器了解
表达式
,并将其转换为表达式树。在德尔福没有办法做到这一点。有其他方法可以尽可能接近LINQ,但没有一种方法真正符合表达式所能做到的,您可能想要这样的东西
Select<Customer>(x=> x.Name, x=> x.Id, x=> x.Address)