Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use (certain) lambda expressions when targeting .NET 2.0?

Tags:

c#

.net

lambda

ReSharper suggests we change:

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

Into:

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

It looks a bit cleaner. But we are targeting .NET 2.0. Is this still something we should do?

like image 272
Deleted Avatar asked Jul 27 '10 08:07

Deleted


1 Answers

You should choose which of them you prefer the most. In C# 3.0 all features introduced (such as Lambda expression, extension methods and LINQ) are build on the 2.0 .NET runtime. So you can develop using C#3.0 and run it on the 2.0 of the runtime.

As long as your compiler can handle C#3.0 you can use all the new C#3.0 features. The only exception I know of is that if you use Expression trees you'd need to use .NET 2.0 SP1 because some of the bug fixes in the CLR for that service pack is needed to make expression trees work properly.

like image 128
Rune FS Avatar answered Oct 12 '22 22:10

Rune FS