将 Dictionary 转换为匿名对象?

2023-11-23

首先,为了让事情更清楚,我将从顶部解释我的场景:

我有一个具有以下签名的方法:

public virtual void SendEmail(String from, List<String> recepients, Object model)

我想要做的是生成一个匿名对象,它具有模型对象的属性以及前两个参数。将模型对象展平为 PropertyInfo[] 非常简单。因此,我想到创建一个字典,它保存 PropertyInfo 和前两个参数,然后转换为匿名对象,其中键是属性的名称,值是属性的实际值。

那可能吗?还有其他建议吗?


如果您确实想将字典转换为具有字典项目作为属性的对象,您可以使用ExpandoObject:

var dict = new Dictionary<string, object> { { "Property", "foo" } };
var eo = new ExpandoObject();
var eoColl = (ICollection<KeyValuePair<string, object>>)eo;

foreach (var kvp in dict)
{
    eoColl.Add(kvp);
}

dynamic eoDynamic = eo;

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

将 Dictionary 转换为匿名对象? 的相关文章

随机推荐

  • Python Flask 获取json数据进行显示

    我目前正在尝试向 sqlite 数据库显示每 5 秒更新一次的值列表 我可以使用以下代码将结果转换为 JSON 格式 app route status methods GET POST def get temps db get db cur
  • AVSpeechSynthesizer 出现问题,有解决方法吗?

    我正在使用 AVSpeechSynthesizer 来播放文本 我有一系列的话语要发挥 NSMutableArray utterances NSMutableArray alloc init for NSString text in tex
  • 在Java中使用类来存储静态数据?

    创建一个单独的类并将其用作仅包含静态数据变量的存储是一个坏主意吗 我目前正在开发一个 Android 应用程序 但这个问题对于 Java 来说是普遍的 对于android 我正在跨活动移动 我想在该单独的类中存储一些全局 静态标志 变量 并
  • iOS Widget后台更新

    根据苹果关于 widgetPerformUpdateWithCompletionHandler 的说法 当小部件不可见时 iOs Widget 也可以更新其内容 在我的调试会话中 我注意到每次通知中心视图消失时 dayViewControl
  • 导入Android平台类的问题

    我是安卓新手 似乎有太多的问题只是让 Eclipse 和 SDK 设置一切都在它应该在的地方 我一直在研究 Android 开发者网站上的一个示例 但它抛出一个错误 导入android support无法解决 我正在尝试导入以下内容 imp
  • HTML 选择“完成”标签未显示在 iOS 版 Ionic 上

    我正在使用 Ionic 框架构建一个 iOS 应用程序 当我使用 select elements 时 在 iOS 原生的菜单中选择项目时 我没有获得带有 完成 标签的标题 然而 当我在 iOS Safari 中使用该应用程序时 它会出现 附
  • 自动绘制不同颜色的线条

    我试图在同一张图上绘制几个核密度估计 并且我希望它们都是不同的颜色 我有一个使用字符串的拼凑解决方案 rgbcmyk 并针对每个单独的图逐步执行它 但在 7 次迭代后我开始出现重复 有没有更简单 更有效的方法来做到这一点 并且有更多的颜色选
  • SQL 错误:“无法在用户实例中使用全文搜索。”

    作为构建过程的一部分 我使用 SSEUtil 根据源自我的开发数据库 SQL Server 2008 R2 的架构自动创建功能测试数据库 这使我能够保持两个数据库同步 模式方面 而无需针对我的开发数据库运行 SQL 存储库测试 我最近在我的
  • 圆形左侧 CSS [关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我目前正在尝试使用 CSS 实现以下效果 不幸的是 我的努力未能尝试修改代码以使其稍微正确 任何帮助将不胜感激 您可以使用border radius仅在两个左角上并分别组合两个值 如本例所
  • 使用 MessageCard 通过 MS Teams 中的传入 Webhook @mention

    我在 Cherwell 中有一个步骤 它根据条件触发 Web 服务并将 MessageCard 发送到 MS Teams 中的通道 当消息到达频道时 我找不到触发 提及的方法 在当前的 WFH 中 所有技术人员都在 Teams 中 并且没有
  • github/git Checkout 在 Windows 上返回“错误:无效路径”

    当我尝试从 github 签出存储库时 出现错误 error invalid path configs perl modules DIST 64 perl HTML Tree 1 5 03 1 el6 noarch rpm 我怀疑问题是路径
  • 有没有办法使用 Kotlin 的暴露库运行原始 sql

    我正在尝试运行一些特定于 postgres 的 sql 并希望重用 Exposed 中的事务管理 暴露的有Transaction exec String 方法可能会做你想要的 看https github com JetBrains Expo
  • 模态对话框不关闭键盘

    我遇到了一个问题 即离开时键盘不会消失UITextField or UITextView in a UIModalPresentationFormSheet 此外 我创建了一个大按钮作为视图的背景 因此如果用户点击字段外部 它就会被触发 我
  • C++ 枚举是有符号的还是无符号的?

    C 枚举是有符号的还是无符号的 通过扩展 通过检查输入是否 您的最小值 假设您从 0 开始并增加 1 来验证输入是否安全 让我们追根溯源 以下是 C 03 标准 ISO IEC 14882 2003 文档 7 2 5 枚举声明 中的内容 枚
  • Android:在没有 Activity 或 Context 引用的情况下访问资源

    我发布这个问题是希望能得到某种明确的答案 如果没有活动或上下文引用 真的不可能访问资源吗 当所需的只是访问一些与 UI 无关的值 资产或字符串时 传递此类引用会导致代码过于复杂 加上所有那些潜在的悬挂参考 这也完全破坏了各种设计模式 例如单
  • 对于 i = 0,为什么 (i += i++) 等于 0?

    获取以下代码 可用作控制台应用程序 static void Main string args int i 0 i i Console WriteLine i Console ReadLine 的结果i是 0 我预计是 2 正如我的一些同事所
  • “异常:t 实例化期间出错!主插座已注册。”在科尔多瓦 Angular2 应用程序中

    我正在用我的项目构建一个简单的科尔多瓦应用程序 它有 2 层嵌套 主路由 gt 子路由 gt 另一个子路由 When trying to browse to the 2nd level another child route 我收到一条错误
  • Chrome 中检测浏览器打印事件有两种不同的方式

    我目前使用的是最新版本的 Chrome 43 0 2357 130 并且在从以下位置调用 print 时遇到打印功能的差异window print 与使用 P 相比 打印时使用window print 它正确输出到控制台 它输出Before
  • WPF FlowDocument - 绝对字符位置

    我有一个 WPF RichTextBox 我正在其中输入一些文本 然后解析整个文本以进行处理 在此解析过程中 我获得了每个单词的开头和结尾的绝对字符位置 我想使用这些字符位置对某些单词应用格式 但是 我发现 FlowDocument 使用
  • 将 Dictionary 转换为匿名对象?

    首先 为了让事情更清楚 我将从顶部解释我的场景 我有一个具有以下签名的方法 public virtual void SendEmail String from List