Деревья выражений Linq в компактной платформе

Отсутствие деревьев выражений в Компактной Платформе прослушивало меня в течение некоторого времени теперь, но я действительно не искал решение.

Сегодня, я нашел сообщение в блоге об альтернативной Системе. Linq. Выражения создаются сверху Моносистемы. Ядро и используемый, например, db4o (можно найти его здесь).

Мой вопрос - Вы пользовались этой библиотекой и если так, каков был Ваш опыт с ним (особенно относительно производительности)?

10
задан Michał Drozdowicz 10 June 2010 в 10:44
поделиться

2 ответа

Для LINQ to db4o довольно хорошо работает System.Linq.Expressions. Скорее всего, он не станет узким местом в приложении Compact Framework, выполняющем запросы к источнику, не использующему LINQ to objects.

Если вы используете его только для мета-программирования, используя Compile снова и снова, он не будет работать так же хорошо, как на настольном компьютере, поскольку это, по сути, интерпретатор, основанный на отражении. Что бы это ни стоило, интерпретатор проходит полный набор тестов Mono для Expression Trees (он довольно последовательный).

Единственная известная ошибка связана с отсутствующей функцией Compact Framework BCL, из-за чего csc не может выдать правильное дерево выражений, когда в нем задействованы общие поля.

2
ответ дан 4 December 2019 в 04:01
поделиться

Это не дает прямого ответа на ваш вопрос, но вы можете его найти интересно. IronPython и IronRuby поставляются с исходным кодом для реализации System.Linq.Expressions .NET 4.0. У них также есть интерпретатор деревьев выражений Linq / DLR. Томаш Матушек смог заставить IronRuby работать на эмуляторе Windows Phone с помощью этого интерпретатора.

2
ответ дан 4 December 2019 в 04:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: