문제

컴팩트 한 프레임 워크에서 LINQ 발현 트리 (DB4O/Mainsoft/Mono 포트에서)로 작업하고 있습니다. System.reflection.emit가 존재하지 않기 때문에 Lambdaexpressions를 대표자에게 컴파일 할 수는 없습니다.

나는 내 표현 트리를 IL로 변환하고 기본적으로 누락 된 방출 기능을 그런 식으로 제공 할 수 있다고 생각했지만, 나는 그것에 Wince 기반의 ilasm을 실행하거나 내 자신의 PE 헤더와 Assmebly 메타 데이터를 작성해야한다는 것을 깨달았습니다.

나는 오히려 Ilasm을 사용할 수있게 되겠습니다. 그게?

도움이 되었습니까?

해결책

분명히, 나는 컴파일 할 수있다 모노. 세실 컴팩트 프레임 워크에서 사용하면 어셈블리를 방출하고로드 할 수 있습니다.

다른 팁

CF에서 Lambda-Expressions를 사용하려면 Ilasm이나 System.reflection.emit가 필요하지 않습니다. CF 용 C# 컴파일러는 Lamba- 표현력을 지원하지만 CF 기본 라이브러리에는 표현식 클래스가 없습니다. 표현식에 대한 올바른 명명 (및 올바른 구현) 클래스로 어셈블리에 대한 참조를 추가하면 Lambda- 표현이 가능합니다.

신에게 감사합니다. 이미 구현 된이 회의가 있습니다 ( http://evain.net/blog/articles/2008/09/22/linq-expression-trees-on-the-compact-framework ) - 나는 db4o 데이터 액세스와 sqlce wit linq iqueryabletoolkit과 함께 사용하며 잘 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top