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类型

 

posted @ 2023-05-31 16:06  幽冥狂_七  阅读(45)  评论(0编辑  收藏  举报