Tipos anônimos do C# 3.0:Nomeação
-
03-07-2019 - |
Pergunta
Eu queria saber se existe alguma maneira de nomear ou renomear uma propriedade do tipo Anônimo para incluir um espaço no nome da propriedade.Por exemplo:
var resultSet = from customer in customerList
select new
{
FirstName = customer.firstName;
};
Neste exemplo eu gostaria que FirstName fosse "First Name".O motivo desta pergunta é que tenho um controle de usuário que expõe uma propriedade DataSource pública que vinculo a diferentes tipos anônimos.Está funcionando perfeitamente agora, exceto pela pequena falha dos nomes das colunas serem um pouco menos amigáveis (Nome em vez de Nome).
Solução
Que tal fazer algo assim:
var resultSet = from customer in customerList
select new
{
Value = customer.firstName,
Title = "First Name"
};
Em seguida, no seu controle de usuário, use o valor como conteúdo e título como o nome da coluna.
Outras dicas
Não, não é possível, os espaços não são permitidos nos nomes dos membros, você pode usar talvez sublinhado ou alterar programaticamente as legendas de suas colunas após a ligação dos dados ...
Eu adicionaria um atributo à propriedade onde você pode especificar um nome personalizado e fornecer nomes mais amigáveis usando o atributo.