Что может сделать максимальное деревья выражений LINQ?
-
07-07-2019 - |
Вопрос
Какое максимальное значение может дать дерево выражений LINQ?
Может ли он определить класс? Как насчет метода со всеми объявленными именем, модификаторами, типом параметра и типом возврата?
Должна ли программа всегда определять дерево самостоятельно? Можно ли сгенерировать дерево из данного файла C #?
Где я могу получить ресурсы, чтобы узнать, как писать базовые сведения для продвинутых Expression Tree и Expression Tree Visitor? (статьи и видео будут отличными)
Спасибо тем, кто может помочь ...
Решение
В C # 3 деревья выражений могут представлять выражения . Отсюда и название. Кроме того, они ограничены подмножеством выражений C # - без выражений присваивания, без выражений с типами указателей и т. Д.
В библиотеках, которые будут поставляться с C # 4, мы расширили дерево выражений library , чтобы также поддерживать деревья операторов. Однако C # 4 НЕ будет автоматически переводить лямбда-оператор в «дерево операторов».
Это очевидная и полезная функция, к которой у нас просто не было времени добраться до C # 4. Мы рассмотрим ее для гипотетических будущих версий. Если у вас действительно отличный пользовательский сценарий для деревьев выписок, я бы хотел услышать его.
Очевидное дальнейшее расширение всего, что является деревьями объявлений, которые будут представлять объявления классов, объявления структур и так далее. Было бы здорово иметь полную гомо-звательность между языком C # и библиотекой дерева выражений. Это позволило бы все виды интересных сценариев метапрограммирования. Но это не произойдет в ближайшее время, так что не надейтесь. Это скорее моя давняя мечта, которая может никогда не осуществиться.
Другие советы
Деревья выражений:
http://www.interact-sw.co .uk / iangblog / 2005/09/30 / expressiontrees
http://www.davidhayden.com/blog/ Дэйв / архив / 2006/12/18 / ExpressionTrees.aspx
http://msdn.microsoft.com/en-us/library/bb397951. ASPX
http://community.bartdesmet.net/blogs/bart/archive/2006/11/22/Getting-started-with-C_2300_-3.0-Expression-Trees.aspx
http: // blah .winsmarts.com / 2006/05/23 / Прояснение-с-30 - часть-7-выражение-trees.aspx
Шаблон посетителя:
http://www.dofactory.com/Patterns/PatternVisitor.aspx
http://en.wikipedia.org/wiki/Visitor_pattern