Esiste una proprietà che consente di specificare un nome descrittivo per una proprietà in una classe?Esiste un attributo .NET per specificare il "nome visualizzato" di una proprietà?
Per esempio, dire che ho la seguente classe:
public class Position
{
public string EmployeeName { get; set; }
public ContactInfo EmployeeContactInfo { get; set; }
}
mi piacerebbe specificare che il nome visualizzato per la proprietà EmployeeName
è "Nome dipendente" e il nome visualizzato per la proprietà EmployeeContactInfo
è " Informazioni di contatto dei dipendenti ".
E 'abbastanza per scrivere la mia classe di attributo che mi permette di fare questo facile:
[PropertyDisplayInfo(DisplayName = "Employee Name")]
public string EmployeeName { get; set; }
Ma è qualcosa di simile già inclusa nel .NET?
come di .NET 4, v'è un attributo migliore per questo, System.ComponentModel.DataAnnotations.DisplayAttribute –
A beneficio di altre persone alla ricerca di questo answer, System.ComponentModel.DataAnnotations.DisplayAttribute non è supportato dai controlli DataGridView o PropertyGrid di Windows Form in .NET 4.0, quindi si torna a utilizzare System.ComponentModel.DisplayNameAttribute (e si scrive la propria classe derivata se si desidera supportare la localizzazione). – MCattle