c# - 通过字符串获取c#动态属性的值

标签 c# dynamic

我想使用字符串访问 dynamic c# 属性的值:

dynamic d = new { value1 = "some", value2 = "random", value3 = "value"};

如果我只有“value2”作为字符串,如何获取 d.value2(“随机”)的值?在 javascript 中,我可以执行 d["value2"] 来访问值(“随机”),但我不确定如何使用 c# 和反射来执行此操作。我最接近的是:

d.GetType().GetProperty("value2") ...但我不知道如何从中获取实际值。

一如既往,感谢您的帮助!

最佳答案

一旦您获得了 PropertyInfo(来自 GetProperty),您需要调用 GetValue 并传入您想要获取的实例值(value)来自。在你的情况下:

d.GetType().GetProperty("value2").GetValue(d, null);

关于c# - 通过字符串获取c#动态属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4939508/

相关文章:

c# - 如何使用 autofac 注册两个 WCF 服务契约(Contract)

c# - 在单独的线程中运行同步 http 请求还是只运行异步 http 请求更好?

c# - 如何打印数组的所有内容

C#如何在运行时动态生成一个实现不同接口(interface)的对象?

c# - 动态方法,将返回值存储在本地

c# - "dynamic"构建器模式的关键字隐藏了扩展方法

c# - 将具有相同主键的 2 个表连接 SQL Server 到 C#

javascript - 使用 JQuery 将动态输入插入方程

c - C中的动态数组升序排序

c# - 下拉列表数据源并从 C# 添加额外项目