¿Existe alguna propiedad que le permita especificar un nombre fácil de usar para una propiedad en una clase?¿Existe un atributo .NET para especificar el "nombre para mostrar" de una propiedad?
Por ejemplo, decir que tengo la clase siguiente:
public class Position
{
public string EmployeeName { get; set; }
public ContactInfo EmployeeContactInfo { get; set; }
}
me gustaría especificar que el nombre de visualización de la propiedad EmployeeName
es "Nombre del empleado" y el nombre de visualización de la propiedad EmployeeContactInfo
es " Información de contacto del empleado ".
Es suficiente para escribir mi propia clase de atributo que me permite hacer esto fácil:
[PropertyDisplayInfo(DisplayName = "Employee Name")]
public string EmployeeName { get; set; }
Pero es algo como esto ya está incluido en .NET?
como de .NET 4, hay una mejor atributo para esto, System.ComponentModel.DataAnnotations.DisplayAttribute –
Para el beneficio de otras personas buscando este answer, System.ComponentModel.DataAnnotations.DisplayAttribute no es compatible con los controles Windows Forms DataGridView o PropertyGrid en .NET 4.0, por lo que vuelve a utilizar System.ComponentModel.DisplayNameAttribute (y escribe su propia clase derivada si desea admitir la localización) – MCattle