Анонимные типы в C # 3.0: именование - PullRequest
3 голосов
/ 18 октября 2008

Мне было интересно, есть ли какой-нибудь способ присвоить имя или переименовать свойство для типа Anonymous, чтобы включить пробел в имя свойства. Например:

var resultSet = from customer in customerList
    select new 
    {
       FirstName = customer.firstName;
    };

В этом примере я хотел бы, чтобы FirstName было «Имя». Причина этого вопроса в том, что у меня есть пользовательский элемент управления, который предоставляет общедоступное свойство DataSource, которое я связываю с другим анонимным типом. Сейчас он работает отлично, за исключением одного небольшого недостатка имен столбцов, который немного меньше, чем удобный для пользователя (FirstName вместо First Name).

Ответы [ 3 ]

5 голосов
/ 18 октября 2008

Как насчет того, чтобы сделать что-то вроде этого:

var resultSet = from customer in customerList
                select new 
                {
                    Value = customer.firstName,
                    Title = "First Name"
                };

Затем в вашем пользовательском элементе управления используйте Value в качестве содержимого и Title в качестве имени столбца.

3 голосов
/ 18 октября 2008

Нет, это невозможно, пробелы не допускаются в именах членов, вы можете использовать, возможно, подчеркивание или программно изменить заголовки столбцов после привязки данных ...

0 голосов
/ 18 октября 2008

Я бы добавил атрибут к свойству, где вы можете указать свое имя, и вы можете предоставить более удобные для пользователя имена, используя атрибут.

...