我们在操作实体的时候,经常会使用到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);
上述代码中的fieldExp结果就是我们想要的!
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容