Использовать (определенные) лямбда-выражения при предназначении для.NET 2.0?

ReSharper предлагает, чтобы мы изменились:

System.Net.ServicePointManager.ServerCertificateValidationCallback +=
    delegate(object sender, X509Certificate certificate, X509Chain chain,
        SslPolicyErrors sslPolicyErrors)
{
    return true;
};

В:

System.Net.ServicePointManager.ServerCertificateValidationCallback +=
    (sender, certificate, chain, sslPolicyErrors) => true;

Это выглядит немного более чистым. Но мы нацелены на.NET 2.0. Это - все еще что-то, что мы должны сделать?

6
задан Deleted 27 July 2010 в 08:29
поделиться

2 ответа

Вы должны выбрать, какой из них вы предпочитаете больше всего. В C # 3.0 все представленные функции (такие как лямбда-выражение, методы расширения и LINQ) построены на среде выполнения 2.0 .NET. Таким образом, вы можете разрабатывать, используя C # 3.0, и запускать его в среде выполнения 2.0.

Пока ваш компилятор может обрабатывать C # 3.0, вы можете использовать все новые возможности C # 3.0. Единственное известное мне исключение - это то, что если вы используете деревья выражений, вам нужно будет использовать .NET 2.0 SP1, потому что некоторые исправления ошибок в CLR для этого пакета обновления необходимы для правильной работы деревьев выражений.

11
ответ дан 8 December 2019 в 12:18
поделиться

Вы можете использовать его, если используете VS2008 (или более позднюю версию) для разработки. Лямбда-выражения - это особенность языка C #, но не функция .Net Framework.

8
ответ дан 8 December 2019 в 12:18
поделиться
Другие вопросы по тегам:

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