动态加载字典kvp到匿名类型

本文关键字:类型 kvp 加载 字典 动态 | 更新日期: 2023-09-27 18:09:29

我想在运行时将Dictionary<string, string>中的所有KeyValuePairs加载到匿名类型中。没有人会提前知道字典的内容。

Dictionary<string, string> callParams = new Dictionary<string, string>();
logger.WithParams(() => new { Val1= val1, Val2= val2, Val3= val3 });

如何将callParams的kvm添加到匿名类型集合中?

动态加载字典kvp到匿名类型

你的意思不是很清楚——但是如果你试图让属性名依赖于字典中的键,你就不走运了:编译器在编译时用你指定的属性名为你创建了匿名类型。如果你直到执行时才知道键,你就不能有匿名类型…

如果你正在使用。net 4,你可能会使用ExpandoObject和动态类型…但更大的图景是什么?你为什么不能按原样把字典传下去呢?