属性名称到 Lambda 表达式 C#

2023-11-25

如何将属性名称转换为 C# 中的 Lambda 表达式?

像这样:string prop = "Name"; to (p => p.Name)

public class Person{
    public string Name{ get; set; } 
}

Thanks!


使用表达式树,您可以生成 lambda 表达式。

using System.Linq.Expressions;
public static Expression<Func<T, object>> GetPropertySelector<T>(string propertyName)
{
    var arg = Expression.Parameter(typeof(T), "x");
    var property = Expression.Property(arg, propertyName);
    //return the property as object
    var conv = Expression.Convert(property, typeof(object));
    var exp = Expression.Lambda<Func<T, object>>(conv, new ParameterExpression[] { arg });
    return exp;
}

for Person你可以这样称呼它:

var exp = GetPropertySelector<Person>("Name");//exp: x=>x.Name
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

属性名称到 Lambda 表达式 C# 的相关文章

随机推荐

  • Sharepoint:如何找到托管特定 Web 部件的所有页面?

    正如问题所述 有没有办法确定哪些页面包含我的 Web 部件 如果您正在寻找代码 我可以为您提供一些东西 如果您想查找所有内容查询 Web 部件 那么您可以像这样调用我的代码 FindWebPart http server com Micro
  • 英特尔 Inspector 报告我的自旋锁实现中存在数据争用

    我使用 Windows 中的 Interlocked 函数制作了一个非常简单的自旋锁 并在双核 CPU 两个线程递增变量 上进行了测试 该程序似乎工作正常 每次都给出相同的结果 但不使用同步时情况并非如此 但是英特尔并行检查器说有一个竞争条
  • Eclipse 突出显示该单词的相同出现

    在Notepad 中 它有一个非常好的功能 如果我选择一个单词 它会突出显示整个文本中的所有相同单词 我还可以设置热键以突出显示最多五个具有不同样式的不同单词 请参见下面的效果 有什么方法可以在 eclipse 中获得类似的效果吗 我知道在
  • watchOS - 显示有关并发症的实时出发数据

    我有一个公共交通应用程序 其中包含火车的实时出发数据 我想添加一个复杂功能 显示下一趟火车的出发时间 是否可以显示 或刷新 有关并发症的实时数据 例如 显示 到 X 站 3 分钟 根据来自公共交通 API 的信息 数据每分钟都可能发生变化
  • 同步适配器中的 ContentResolver.requestSync 在 Android 中不起作用

    我正在尝试使用 StubProvider 和 StubAuthenticator 编写一个同步适配器 我遵循了官方指南 我的代码运行没有任何错误 但 onPerformSync 没有被调用 我尝试了一切但没有用 我的完整项目可以从以下位置下
  • 有没有办法以编程方式重新启动 azure 函数

    我有一个 Azure 函数每隔几分钟在计时器上运行一次 在运行不同时间后 由于外部 API 每次运行都会开始失败 并在 Azure 门户中手动单击重新启动按钮修复了问题和作业再次工作 有没有办法让 azure 函数自行重新启动 或者让某些东
  • MAMP 将 php.ini 保存在哪里?

    我最近买了一台 mac 但我根本不习惯在 mac 上开发 我有 MAMP Pro 1 9 6 1 我做了一个定位php ini并得到这个 locate php ini Applications MAMP conf php5 2 php in
  • 如何以 html 形式将多个值附加到单个参数?

    假设我有以下形式
  • 使用 dplyr 按组计算百分比计数

    带数据框df像下面这样 df lt data frame colors c red blue green red red blue 我可以使用 dplyr 找出每种颜色的计数 如下所示 df gt group by color gt sum
  • Flutter 设计 Instagram 像气球/工具提示小部件

    在颤振中我想将此布局设计为小部件 当前实现的代码具有以下结果 你能帮我解决这个设计上的一些问题吗 因为高度 重量和角应该是可定制的 我应该可以在其中放入一些小部件 例如 class MessageClipper extends Custom
  • Gson多态序列化

    使用 Gson 2 2 2 我试图序列化 POJO 行为 的数组列表 我有一个适配器 它几乎是我在网上看到的适配器的副本 public class BehaviorAdapter implements JsonSerializer
  • 如何在 Crystal Reports for Visual Studio 中实现数据透视报表?

    除了带有小计的水平线之外 我对任何报告都是菜鸟 我有一个数据集 其中包含汽车在停车场所花费的时间 我必须生成一个表格 其中每小时显示一列 每天显示一行 显示特定日期特定时间的条目数 我会发现在 RDLC 设计器中更容易做到这一点 因为它具有
  • 适用于 Docker 的 Google Cloud Logging 驱动程序

    我无法验证谷歌云驱动程序gcplogs对于 Docker 尽管我已经设置了环境变量GOOGLE APPLICATION CREDENTIALS到我的服务帐户的 JSON 凭据所在的路径 文件 错误信息如下 ERROR for oncrm o
  • 简单布局 vs. 标准布局 vs. POD [重复]

    这个问题在这里已经有答案了 通俗地说 普通类型 标准布局类型和 POD 之间有什么区别 具体来说 我想确定是否new T不同于new T 对于任何模板参数T 属于哪一类特征is trivial is standard layout and
  • 从预安装时运行的 npm 脚本中查找 package.json 文件

    所以我需要阅读package json在通过 npm 安装新包之前 为什么首先要读取 package json 我将 npm 用于单独版本控制并且可以具有相互依赖关系的 CSS 组件 没有提供 JavaScript 寻找一堆依赖项的版本冲突
  • Visual Studio 2013/2015 C++ 项目模板丢失

    我正在尝试为 Visual Studio 2013 专业 C 项目制作一些简单的项目模板 但 Visual Studio 似乎在与我作斗争 我开始使用File gt Export Template 向导 它完成并生成了一个 zip 文件 但
  • Perforce 和 SourceSafe 可以在 Visual Studio 中共存吗?

    更具体地说 是 Visual Studio 2008 我们正在测试迁移到 Perforce 进行源代码控制 因此我想安装 P4SCC 插件来进行测试 不过 我还想继续使用 SourceSafe 的 IDE 功能来处理尚未迁移的项目 两者能否
  • 使用 Nest Client 在 Elasticsearch 中加载完成字段

    我想使用 Nest 将完成建议字段填充到索引中 读完这篇文章后关于实现完成字段的 ElasticSearch 博客文章我发现你可以拥有以下属性 输入数组 单路输出 weight payload 我假设要将此数据加载到索引中 我需要在我的搜索
  • Concat 中的 Group_Concat 不适用于 NULL 值

    我有一张桌子 CREATE TABLE IF NOT EXISTS dept did int 11 NOT NULL dname varchar 50 DEFAULT NULL ENGINE InnoDB DEFAULT CHARSET l
  • 属性名称到 Lambda 表达式 C#

    如何将属性名称转换为 C 中的 Lambda 表达式 像这样 string prop Name to p gt p Name public class Person public string Name get set Thanks 使用表