从c#类中提取数据属性显示名称?

时间:2017-05-12 17:05:23

标签: c#

我可以使用以下代码获取指定类中所有属性名称的简单文本列表。

  PropertyInfo[] propertyInfos;
  propertyInfos = typeof(MyClass).GetProperties();
  foreach (var item in propertyInfos)
     {
     yield return item.Name.ToString();
     }

但我无法弄清楚如何获取每个字段的显示名称。显示名称使用data属性指定:

 [Display(Name = "First Name")]
 public string FirstName { get; set; }

有没有办法使用反射?或者以其他方式以编程方式执行此操作?

1 个答案:

答案 0 :(得分:4)

您可以通过以下方式按类型获取CustomAttribute:

DisplayAttribute attribute = (DisplayAttribute)item.GetCustomAttribute(typeof(DisplayAttribute));

现在您可以使用例如

获取DisplayAttribute字段的任何值
attributes.Name