Mi piacerebbe essere in grado di passare in un Func < T,? > che mi permette di scegliere esattamente come ordinare un elenco di elementi ... il problema che ho è il tipo di ritorno potrebbe variare ... quindi per esempio voglio fare qualcosa di simile (non codice di produzione):Funzione di ordinamento Linq generico?
Func<POline, string> poLineOrder
if (option) poLineOrder = poline => poline.PartNumber;
else poLineOrder = poline => poline.LineOrder;
var orderedLines = poLines.OrderBy(poLineOrder);
Il problema qui è che mentre PartNumber è una stringa, LineOrder è un int, e questo codice non viene compilato. Ho la sensazione che dovrò costruire un'espressione (?) Ma non riesco a trovare la sintassi giusta.
(Sì, posso risolvere questo problema, utilizzando poline.LineOrder.ToString ("D10"), ma che sto chiedendo la questione più generale qui ... grazie!)
-mdb
cura di commentare la downvote? – tvanfosson
@ tvanfosson, ho ricevuto lo stesso trattamento per un approccio diverso ma valido. Sembra che qualcuno volesse solo svendere :( – JaredPar