如何从c#中的List获取属性键名?

问题描述 投票:0回答:1

如果我有一个列表,如:

var ListCommandQuery = new List<dynamic> { }; 

ListCommandQuery.Add( 
new { User_ID = "4", User_Name = "jhony" ,    Mobile_Phone = 054175548999} );

我想只打印属性键名而不是值 所以结果会告诉我:

User_ID 
User_Name 
Mobile_Phone 

代替 :

4
jhony
054175548999

怎么做?

c# wpf
1个回答
2
投票

使用匿名类型时,您需要类型定义

foreach (var item in listCommandQuery)
{
     foreach (var prop in item.GetType().GetProperties())
     {
              Console.WriteLine(prop.Name);
     }
}

在匿名对象中,名称不是像DynamicObject中的键,而是实际的属性。编译器在后台为您创建一个实际的类。与ExpandoObject不同,其中对象是IDictonery

© www.soinside.com 2019 - 2024. All rights reserved.