모든 확장 메서드가 제공된 후에 람다 식으로 작성된 조건부가 있습니다. 예를 들어 :Linq 표현식 매개 변수 유형 바꾸기
(new List<string>).Where(i => i.Contains("some")).Where(i => i.Contains("second_some"));
"목록 <>"유일한 예는, 내 사용자 지정 데이터 컨텍스트 또는 개체 모음이있을 수 있습니다. 그래서 "Expression < ...>"을 가지고 있으며 기본 유형 "Expression"입니다.
질문은 표현 트리를 따라갈 수있는 코드가 있으며, 매개 변수 유형 (이 샘플에서는 "문자열")을 다른 하나와 함께 바꿀 수 있습니까?
매개 변수 유형을 바꾸는 방법을 이미 찾았지만 "Where"확장 메서드의 메서드에서 이전 매개 변수 형식의 서명이있는 경우 충돌이 발생합니다.
어쩌면 누군가가 해결책을 찾았습니까? 감사합니다. .
이 경우에 무엇을하고 싶은지 확실하지 않습니다 ... "일부"는 당신이 무엇을하던간에 문자열이 될 것이기 때문에 만약 당신이 (int) '? –
예를 들어 "string"이 아니라 "IUser"인터페이스가 있으며 linq2sql은 SQL 문자열을 작성하기 위해 클래스로 작업하기 때문에 "User"클래스가 필요합니다. 따라서 IUser를 User로 바꿔야합니다. –
런타임에 형식을 알지 못하는 표현식을 만들고 Lamba 'template'메서드를 작성하고 싶습니까? –