2008-10-17 7 views
3

Je me demandais s'il existe un moyen de nommer ou de renommer une propriété sur un type anonyme pour inclure un espace dans le nom de la propriété. Par exemple:C# 3.0 Types anonymes: Nommer

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

Dans cet exemple, j'aimerais que Prénom soit "Prénom". La raison de cette question est que j'ai un contrôle utilisateur qui expose une propriété DataSource publique que je lie à un type anonyme différent. Cela fonctionne parfaitement maintenant, sauf pour le petit défaut des noms de colonne qui est un peu moins convivial (FirstName au lieu de First Name).

Répondre

5

Qu'en est-il de faire quelque chose comme ceci:

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

Ensuite, dans votre utilisation de l'utilisateur Valeur du contenu et du titre comme le nom de la colonne.

3

Non, ce ne est pas possible, les espaces ne sont pas autorisés dans les noms des membres, vous pouvez utiliser peut-être souligner ou modifier les sous-titres de programmation vos colonnes après les données est lié ...

+0

CMS, voyez-vous un problème avec l'ajout du trait de soulignement ou d'un autre caractère et le remplacement de ce caractère par un espace dans la légende du contrôle utilisateur? –

0

Je rajouterais un Attribuez à la propriété où vous pouvez spécifier un nom personnalisé et vous pouvez fournir plus de noms conviviaux à l'aide de l'attribut.

+1

Vous ne pouvez pas spécifier d'attributs dans les expressions de création d'objets anonymes. –

Questions connexes