How to get DataAnnotation Display Name?
asp.net-mvc-4, c#, data-annotations
Solution
`Reflection` and `LINQ` is your friend
typeof(vwGridMetadata)
.GetProperties()
.Select(x => x.GetCustomAttribute<DisplayAttribute>())
.Where(x => x != null)
.Select(x => x.Name);
Note: You need to include `System.Reflection` and `System.Linq` namespaces to your project in order to use these methods.
Problem
I have EF model class. for that I created `MetadataType` for that partial class. Now I need to read or get all of these displayname of the properties of the object from c#. So I can use the in Excel Header row. ``` [MetadataType(typeof(vwGridMetadata))] public partial class vwGrid { } public class vwGridMetadata { [Display(Name = "Note ID")] public int intNoteID { get; set; } [Display(Name = "Global Number")] public string strGlobalLoanNumber { get; set; } [Display(Name = "Data Source ID")] public Nullable<int> intDataSourceID { get; set; } [Display(Name = "Sample ID")] .... } ``` `vwGrid grd = new vwGrid;` Here I want get all properties displayname in iteration. So I can add them to excel Header row and cells. How to do that?