Анонимные типы в C # 3.0: именование
-
03-07-2019 - |
Вопрос
Мне было интересно, есть ли какой-нибудь способ присвоить имя или переименовать свойство для типа Anonymous, чтобы включить пробел в имя свойства. Например:
var resultSet = from customer in customerList
select new
{
FirstName = customer.firstName;
};
В этом примере я хотел бы, чтобы имя FirstName было "Имя". Причина этого вопроса в том, что у меня есть пользовательский элемент управления, который предоставляет общедоступное свойство DataSource, которое я связываю с другим анонимным типом. Сейчас он работает отлично, за исключением одного небольшого недостатка имен столбцов, который немного меньше, чем удобный для пользователя (FirstName вместо First Name).
Решение
Как насчет того, чтобы сделать что-то вроде этого:
var resultSet = from customer in customerList
select new
{
Value = customer.firstName,
Title = "First Name"
};
Затем в вашем пользовательском элементе управления используйте Value в качестве содержимого и Title в качестве имени столбца.
Другие советы
Нет, это невозможно, пробелы не допускаются в именах членов, вы можете использовать, возможно, подчеркивание или программно изменить заголовки столбцов после привязки данных ...
Я бы добавил атрибут к свойству, где вы можете указать свое имя, и вы можете предоставить более удобные для пользователя имена, используя этот атрибут.