Czy istnieje właściwość, która pozwala określić przyjazną dla użytkownika nazwę właściwości w klasie?Czy istnieje atrybut .NET określający "wyświetlaną nazwę" właściwości?
Załóżmy, że mam następujące klasy:
public class Position
{
public string EmployeeName { get; set; }
public ContactInfo EmployeeContactInfo { get; set; }
}
chciałbym wskazać, że nazwa wyświetlana dla właściwości EmployeeName
jest „Nazwa pracownika” oraz nazwę wyświetlaną własnością EmployeeContactInfo
jest " Informacje kontaktowe pracownika ".
Wystarczy napisać własną klasę atrybutu, który pozwala mi na to proste:
[PropertyDisplayInfo(DisplayName = "Employee Name")]
public string EmployeeName { get; set; }
Ale jest coś takiego już zawarte w .NET?
jak .NET 4, istnieje lepszy atrybut dla tego System.ComponentModel.DataAnnotations.DisplayAttribute –
Dla dobra innych ludzi, patrząc na to odpowiedź, System.ComponentModel.DataAnnotations.DisplayAttribute nie jest obsługiwana przez formanty Windows Forms DataGridView lub PropertyGrid w .NET 4.0, więc powracasz do korzystania z System.ComponentModel.DisplayNameAttribute (i pisania własnej klasy pochodnej, jeśli chcesz wspierać lokalizację). – MCattle