Использовать (определенные) лямбда-выражения при нацеливании на .NET 2.0? - PullRequest
6 голосов
/ 27 июля 2010

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.Это все еще то, что мы должны сделать?

Ответы [ 2 ]

11 голосов
/ 27 июля 2010

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

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

8 голосов
/ 27 июля 2010

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

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