Tipi anonimi C # 3.0: denominazione
-
03-07-2019 - |
Domanda
Mi chiedevo se esiste un modo per nominare o rinominare una proprietà su un tipo anonimo per includere uno spazio nel nome della proprietà. Ad esempio:
var resultSet = from customer in customerList
select new
{
FirstName = customer.firstName;
};
In questo esempio vorrei che FirstName fosse " First Name " ;. Il motivo di questa domanda è che ho un controllo utente che espone una proprietà DataSource pubblica che associo a un diverso tipo anonimo. Sta funzionando perfettamente in questo momento, tranne per il fatto che l'unico piccolo difetto dei nomi delle colonne è un po 'meno intuitivo (FirstName anziché First Name).
Soluzione
Che ne dici di fare qualcosa del genere:
var resultSet = from customer in customerList
select new
{
Value = customer.firstName,
Title = "First Name"
};
Quindi, nel tuo controllo utente, utilizza Valore come contenuto e Titolo come nome della colonna.
Altri suggerimenti
No, non è possibile, gli spazi non sono consentiti nei nomi dei membri, è possibile utilizzare forse un trattino basso o modificare a livello di codice le didascalie delle colonne dopo che i dati sono stati associati ...
Aggiungerei un attributo alla proprietà in cui è possibile specificare un nome personalizzato e è possibile fornire più nomi intuitivi utilizzando l'attributo.