首页 > 编程语言 >C# 根据字段名称取得对象的Lambda表达式

C# 根据字段名称取得对象的Lambda表达式

时间:2023-08-16 11:46:26浏览次数:33  
标签:C# parameter 字段名 var Expression 表达式 Lambda

/// <summary>
/// 根据字段名称取得对象的Lambda表达式
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="column"></param>
/// <returns></returns>
public Expression<Func<T, object>> GetEntityLambda<T>(string column)
{
    // 创建一个表示输入参数的ParameterExpression
    var parameter = Expression.Parameter(typeof(T), "x");
    // 创建一个表示字段访问的MemberExpression
    var property = Expression.Property(parameter, column);
    // 创建Lambda表达式,参数为输入参数,主体为属性访问表达式
    var lambdaExpression = Expression.Lambda<Func<T, object>>(property, parameter);
    return lambdaExpression;
}

 

翻译

搜索

复制

标签:C#,parameter,字段名,var,Expression,表达式,Lambda
From: https://www.cnblogs.com/smartnn/p/17633613.html

相关文章

  • Grafana日志转换-Convert field type & Concatenate fields & Organize fields
    Grafana日志转换-Convertfieldtype&Concatenatefields&Organizefields转换函数根据自己的使用情况,记录使用到的转换函数,这次涉及到的转换函数如下Convertfieldtype功能:转换字段的类型Concatenatefields功能:将所有字段合并为一个数据集合。如果长度不相同,值将附加......
  • 苹果CMSv10-验证码更改复杂一些-为解决后台用户登录时间和登录次数老是被搞成统一的数
       主要就在这个类中,注释了三行即可。 原形在: ......
  • Python 如何自动遍历文件下所有的文件,然后再对每一个文件夹读取里面的csv文件
    Python如何自动遍历文件下所有的文件,然后再对每一个文件夹读取里面的csv文件:代码:importosimportcsv#设置要遍历的文件夹路径folder_path="your_folder_path"#遍历文件夹forroot,dirs,filesinos.walk(folder_path):#遍历当前文件夹下的所有文件for......
  • CF1060E Sergey and Subway 题解
    题面由题意可知,在原图中经过边数为\(2\)的一对点,在新图中经过边数为\(1\)。所以每对点在新图中的距离为:\[\begin{aligned}\lceil\frac{dis(i,j)}{2}\rceil=\frac{dis(i,j)+dis(i,j)\;mod\;2}{2}\end{aligned}\]那么我们只需在原图上求出任意两点距离之和并加上\(dis......
  • 【chatgpt】验证文件一致性
    在Windows和Linux下用于文件验证一致性的常用算法是MD5(MessageDigestAlgorithm5)和SHA-256(SecureHashAlgorithm256-bit)。这两个算法都能提供快速而准确的文件校验结果。MD5算法:将文件作为输入,生成一个128位的哈希值,通常表示为32个十六进制数字。MD5算法被广泛应用于文件完......
  • 什么是 SAP ABAP Lock Mode 的 cumulative 特性
    SAP官网提到:Ifthename,argument,andlockmodeoftheelementarylockareidentical,andifalockisnotexclusiveandnon-cumulative,itcanbesetmorethanonce(acumulation).Thecumulationcounterisincrementedbyonewitheachsuccessivecumulat......
  • 笔记整理--C语言——忽略大小写的字符串查找
    char*stristr(char*pString,char*pFind){unsignedlongpFind_len=0;unsignedlongcmp_len=0;char*pt1=NULL,*pt2=NULL;char*pString_pt=pString;///////////////pFind_len=strlen(pFind);if(pFind_len==0){......
  • centos8 selinux机制
      Permissiondenied在CentOS6.4中TFTP出现TFTPerror:'Permissiondenied'  这个是由于selinux机制引起的不是文件夹的权限问题。所以vi/etc/sysconfig/selinux修改为:SELINUX=permissive如果不想重启系统,执行:sudosetenfore0在开发板上执行:[root@EmbedSky/......
  • Rsync实时同步工具
    一、rsync是什么rsync(remotesynchronize)是Liunx/Unix下的一个远程数据同步工具。它可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync算法(差分编码)以减少数据的传输。rsync算法并不是每一次都整份传输,而是只传输两个文件的不同部分,因此其传输速度相当快。除此......
  • 什么是 Node.js 的 cross-env 工具包
    cross-env是一个运行在Node.js环境中的工具包,它的主要作用是让我们可以在命令行中设置环境变量,而不必担心跨操作系统的兼容问题。在Unix和Windows系统中设置环境变量的方式是不同的,这就导致了我们无法写出一条在所有操作系统中都可以运行的设置环境变量的命令。cross-env......