Me gustaría poder pasar un Func < T,? > que me permite elegir exactamente cómo ordenar una lista de elementos ... el problema que tengo es que el tipo de devolución puede variar ... así que por ejemplo quiero hacer algo como esto (no código de producción):¿Función de pedido genérico Linq?
Func<POline, string> poLineOrder
if (option) poLineOrder = poline => poline.PartNumber;
else poLineOrder = poline => poline.LineOrder;
var orderedLines = poLines.OrderBy(poLineOrder);
El problema aquí es que mientras PartNumber es una cadena, LineOrder es una int, y este código no se compila. Tengo la sensación de que voy a tener que crear una Expresión (?) Pero parece que no puedo obtener la sintaxis correcta.
(Sí, puedo solucionar esto, mediante el uso de poline.LineOrder.ToString ("D10") pero yo estoy haciendo la pregunta más general aquí ... gracias!)
-mdb
Atención a comentar sobre el downvote? – tvanfosson
@tvanfosson, recibí el mismo tratamiento para un enfoque diferente pero válido. Parece que alguien solo quería renunciar :( – JaredPar