В C # 3 деревья выражений могут представлять выражения . Отсюда и название. Кроме того, они ограничены подмножеством выражений C # - без выражений присваивания, без выражений с типами указателей и т. Д.
В библиотеках, которые будут поставляться с C # 4, мы расширили дерево выражений library , чтобы также поддерживать деревья операторов. Однако C # 4 НЕ будет автоматически переводить лямбда-оператор в «дерево операторов».
Это очевидная и полезная функция, к которой у нас просто не было времени добраться до C # 4. Мы рассмотрим ее для гипотетических будущих версий. Если у вас действительно отличный пользовательский сценарий для деревьев выписок, я бы хотел услышать его.
Очевидное дальнейшее расширение всего, что есть деревья объявлений, которые будут представлять объявления классов, объявления структур и так далее. Было бы здорово иметь полную гомоиконичность между языком C # и библиотекой дерева выражений. Это позволило бы все виды интересных сценариев метапрограммирования. Но это не произойдет в ближайшее время, так что не надейтесь. Это скорее моя давняя мечта, которая может никогда не осуществиться.