tags:

views:

186

answers:

2

I'm currently working on an client application developed using winforms on .Net 2.0. Are there any reasons I should upgrade to 3.5? I already use LINQ (with linqbridge) and I can think of no other benefits I would get from 3.5 (I will not start using WPF or a new data access technology ...)

+2  A: 

Does your application need to use time zones at all? TimeZoneInfo is vastly better than the pre-3.5 alternatives.

If you only need LINQ to Objects, then with LINQBridge you should be mostly okay. Of course you may come across non-LINQ situations where you'd benefit from expression trees, but they're relatively rare.

If you'll find deployment easier with .NET 2.0 SP1, then by all means stick with it. That's not to say there aren't nice things in .NET 3.5, but if you don't want to use WCF, WPF etc then a lot of those benefits won't be applicable to you.

Jon Skeet
Thanks for the hint about TimeZoneInfo. That's exactly one of these "hidden" improvements I was wondering about (although this one's not useful for my application).
MartinStettner
A: 

.NET 3.5 will give you simple properties declaration:

public property SomeProperty { get; set; }

Extension methods is a very cool feature:

public static class Extensions
{
   public static bool IsNull(this string text)
   {
      return text == null;
   }
}

And then in your code:

var myStr = null;

if (myStr.IsNull()) {
// your logic
}

If you will develop ASP.NET application then new version will give you integrated ASP.NET AJAX, ASP.NET Dynamic Data which is the most simple way to make data-driven applications, new ListView, DataPager and Charts controls.

sashaeve
wrong. that's a C# 3.0 feature. It's perfectly compatible with the 2.0 runtime. Just build your project to target Framework 2.0 in VS 2008 and you'r set. On deployment you don't need .NET 3.5 for it
AZ
We talked about improvements or runtime? You can't persuade a C# 2.0 compiler to act as if it understands what extension methods are.
sashaeve
Sorry if the question was unclear: I was just interested in the Runtime (Framework). I'm using C# 3.0 (targeting Framework 2.0), so I can already use extension methods, automatic properties and some other goodies :-) (Downvoting was unfair anyway, so allow me to correct this ...)
MartinStettner