dynamic 类型转IDictionary
dynamic 类型转Idictionary
工作中经常使用到dynamic类型,有时候dynamic["xxxx"]这样用又不行,只能是这样用 dynamic.xxxx, 如果我的数据是动态的取值,
这里直接挂了,不能这样用。还是得转一下,变成字典来操作。嗯,靠谱!
dynamic tpLabel = new { Wks26 = 26, Wks13 = 13, Wks3 = 4 }; IDictionary<string, object> dict1 = ((object)tpLabel) .GetType() .GetProperties() .ToDictionary(p => p.Name, p => p.GetValue(tpLabel)); foreach (var kvp in dict1) { Console.WriteLine($"{kvp.Key}: {kvp.Value}"); }
System.Dynamic.ExpandoObject 类型可以直接转 IDictionary类型