나는 Func < T를 패스 할 수 있기를 원합니다? >을 사용하면 항목 목록을 정렬하는 방법을 정확하게 선택할 수 있습니다. 문제는 반환 유형이 다를 수 있으므로 ... 예를 들어 프로덕션 코드가 아닌 다음과 같이하고 싶습니다.일반 Linq 주문 기능?
Func<POline, string> poLineOrder
if (option) poLineOrder = poline => poline.PartNumber;
else poLineOrder = poline => poline.LineOrder;
var orderedLines = poLines.OrderBy(poLineOrder);
여기서 PartNumber는 문자열이지만 LineOrder는 int이며이 코드는 컴파일되지 않습니다. Expression (?)을 빌드해야만한다는 느낌이 들지만 구문을 올바르게 처리 할 수없는 것 같습니다.
(예, poline.LineOrder.ToString를 사용하여이 문제를 해결할 수 있습니다 ("D10")하지만 난 여기에 더 일반적인 질문을 부탁 해요 ... 감사합니다!)
-mdb
케어를 쓸 수 있습니다 지금
:
는 다음과 같은 도우미 정의가 필요합니다? – tvanfosson
@ tvanfosson, 나는 다른 아직 유효한 접근법에 대해 동일한 대우를 받았습니다. 누군가가 단지 downvote 싶었 같은데 :( – JaredPar