我想在运行时期间将KeyValuePairs
中的所有Dictionary<string, string>
加载到匿名类型中。 “词典”的内容将不会提前知道。
Dictionary<string, string> callParams = new Dictionary<string, string>();
logger.WithParams(() => new { Val1= val1, Val2= val2, Val3= val3 });
如何将callParams
的KVP添加到匿名类型集?
答案 0 :(得分:2)
你的意思并不是很清楚 - 但如果你试图让属性名称依赖于字典中的键,那你就不走运了:创建了匿名类型编译器在编译时使用您指定的属性名称。如果在执行时间之前您不知道密钥,则不能使用匿名类型...
如果你使用的是.NET 4,你可以使用ExpandoObject
和动态输入...但这里的大局是什么?为什么你不能直接传递字典呢?