VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > c#编程 >
  • C#中根据传入的字符串字段返回实体Lambda表达式

我们在操作实体的时候,经常会使用到Lambda表达式,如下所示就是对实体IOT_Sample的CrtTime进行操作:


 
var ret = NestExtension.GetSort<IOT_Sample>(m => m.CrtTime, true);

但是往往有些时候我们具体的业务只告诉我们该实体的某个字段名称(字符串类型的),这个时候我们就需要根据传过来的字符串字段名称返回该实体对应字段的Lambda表达式,具体代码实现如下:


 
//创建表达式参数(指定参数或变量的类型)
 
var param = Expression.Parameter(typeof(T), "t");
 
 
 
//构建表达式体(类型包含指定的属性)
 
var body = Expression.Property(param, "CrtTime");
 
 
 
//根据参数和表达式体构造一个Lambda表达式
 
var fieldExp = Expression.Lambda<Func<T, object>>(Expression.Convert(body, typeof(object)), param);
CS 复制 全屏

上述代码中的fieldExp结果就是我们想要的!

出处:https://www.cnblogs.com/qubernet/p/17994390


相关教程