ciao, in uno strato business ho una collezione di oggetti di cui devo effettuare il sort in base ad alcune proprietà, perlopiù int e string

attualmente il sort viene eseguito con lambda in questo modo

IOrderedEnumerable<Case> cc;

cc = CaseColl.OrderBy(t => t.NComponentRootCase).ThenByDescending(t => t.Id);

ora, devo poter effettuare il sort della collezione <Case>, attraverso una sua proprietà che mi arriva come string

in sostanza avviene il sort di t.NComponentRootCase, se la stringa in ingresso è "NComponentRootCase"

ovviamente voglio evitare l'uso di switch-case, ma con le Reflection, del tipo

var param = Expression.Parameter(typeof(Case), typeof(Case).Name);

var st = Expression.Lambda<Func<Case, object>>(Expression.Convert(Expression.Property(param, mySortPropertyName), typeof(object)), param);

cc = CaseColl.OrderBy(t => st).ThenByDescending(t => t.Id);

non ne sono venuto a capo

grazie.
beh figo! me l'ero perso...

oltre ad avermi risolto il problema, mi apre nuovi orizzonti su una cosa

For example: I could provide UI to an end-user business analyst using my application that enables them to construct queries on their own (including arbitrary conditional clauses). 'Scott'


grazie Marco!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC