Y a-t-il une propriété qui vous permet de spécifier un nom convivial pour une propriété dans une classe?Existe-t-il un attribut .NET pour spécifier le "nom d'affichage" d'une propriété?
Par exemple, dire que j'ai la classe suivante:
public class Position
{
public string EmployeeName { get; set; }
public ContactInfo EmployeeContactInfo { get; set; }
}
J'aimerais préciser que le nom d'affichage pour la propriété EmployeeName
est « Nom de l'employé » et le nom d'affichage pour la propriété EmployeeContactInfo
est " Coordonnées de l'employé ".
Il est assez facile d'écrire ma propre classe d'attribut qui me permet de le faire:
[PropertyDisplayInfo(DisplayName = "Employee Name")]
public string EmployeeName { get; set; }
Mais est quelque chose comme ceci déjà inclus dans .NET?
à partir de .NET 4, il y a un meilleur attribut pour cela, System.ComponentModel.DataAnnotations.DisplayAttribute –
Pour le bénéfice d'autres personnes à la recherche de cette answer, System.ComponentModel.DataAnnotations.DisplayAttribute n'est pas pris en charge par les contrôles Windows Forms DataGridView ou PropertyGrid dans .NET 4.0, vous devez donc utiliser System.ComponentModel.DisplayNameAttribute (et écrire votre propre classe dérivée si vous souhaitez prendre en charge la localisation). – MCattle