Могу ли я использовать лямбды в проекте VB ASP.NET (2.0) в VS 2008? - PullRequest
0 голосов
/ 13 августа 2010

Я построил небольшой фрагмент кода, основанный на лямбдах, в проекте формы VB Windows ранее, который отлично работает, но он дает мне предупреждения «ожидаемого выражения» (какой блок компиляции ... вероятно, следует рассматривать как ошибки, нет?), Когда Я копирую код в проект ASP.NET. Единственное отличие, которое я вижу, это то, что я делаю проект формы Windows по сравнению с веб-проектом ... работает в одном, не работает в другом.

Даже что-то базовое, подобное этому, не работает:

delegate function stringify(byval x as object) as string
public sub test()
   dim f as stringify = Function(x) x.ToString()
   dim s as string = f(5)
end sub

Есть ли способ заставить Lambdas работать в ASP.NET? Или есть где-то настройка, которая дергает мою версию VB на уровень один или два (поскольку они, очевидно, работают только в 9.0 или более поздней версии, но я не знаю, как определить, какую версию я использую)?

Редактировать: Бах! LinqBridge, кажется, не работает для меня. Я получаю объекты (Func (Of TResult)), но без поддержки лямбды. Я полагаю, это смертельный звон для моих надежд? Или есть что-то очевидное, что мне не хватает, чтобы использовать его (перетащить в корзину, цель в ссылках, Imports System.Linq)?

1 Ответ

1 голос
/ 13 августа 2010

Вы можете, если используете LinqBridge

Это реализация Linq для .Net 2.0

Как говорится

LINQBridge - это переопределение всех стандартных операторов запросов в классе Enumerable платформы 3.5.
...
Фактически, LINQBridge позволяет использовать почти все функции C # 3.0 с Framework 2.0, включая методы расширения, лямбда-функции и понимание запросов.Единственная функция, которую он не поддерживает, - это компиляция лямбда-выражений в деревья выражений (т. Е. Выражение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...