ReSharper 4.0 – Erster Eindruck

Gestern Abend habe ich das erste Nightly Build (729) von ReSharper 4.0 für VS2008 installiert. Das Setup hat reibungslos funktioniert und hat die vorhandene Version 3.1 (Build 595) ersetzt ohne dass ich vorher ein Uninstall machen musste. Sehr schön!

Auf den ersten Blick macht dieser erste öffentlich zugängliche Build einen guten Eindruck. Die Funktionalität der Version 3.1 scheint intakt. Was sofort auffällt sind die neuen Warnungen und Quick Fixes. So werden jetzt z.B. überflüssige Initialisierungen erkannt und auf Wunsch entfernt:

public class A {
  private IList<B> list = null;  // Initialisieren auf Default ist unnötig
}

Gespannt war ich natürlich ob ReSharper mit den neuen Sprachelementen von C# 3.0 klarkommt. Und dabei habe ich dann gleich den ersten Bug gefunden:

using System;
using System.Linq.Expressions;

namespace Lambdas
{
  public class Lambda
  {
    public int TakeLambda(Func<string, int> f, string s) {
      return f(s);
    }

    public int TakeExpression(Expression<Func<string, int>> f, string s) {
      return f.Compile().Invoke(s);
    }

    public void Example() {
      // Ok
      var i = TakeLambda(x => x.Length, "abc");

      // ReSharper 4.0 Build 729 erkennt ".Length" nicht
      var j = TakeExpression(x => x.Length, "abc");
    }
  }
}
 
Solange man eine Lambda Expression an einen Parameter vom Typ Func<P, Q> übergibt ist alles in Ordnung, ist der Parameter aber vom Type Expression<Func<P, Q>> kann ReSharper offensichtlich den Typ der Lambda Expression nicht inferieren.
 
Fazit: ich werde ReSharper 4.0 ab sofort produktiv einsetzen.
 
Technorati-Tags:
Kick it on dotnet-kicks.de

Tags: ,

6 Responses to “ReSharper 4.0 – Erster Eindruck”

  1. Thomas Says:

    Danke für den Bericht, dann werd ich ihn mir auch mal installieren.

  2. alex Says:

    Werden die Settings der 3er-Version übernommen? Bzw. lassen sich die exportierten Settings importieren?

    Alex

  3. Stefan Lieser Says:

    Settings werden übernommen.

  4. Alex Says:

    Danke

  5. JetBrains .NET Tools Blog » Blog Archive » Talking ReSharper Says:

    [...] Hadi Eskandari Jan Van Ryswyck Jeroen Matthew Podwysocki Oren Eini Rinat Abdullin Simone Chiaretta Stefan Lieser Steve Steven Harman Tim Boland Will Asrari   and many others! Technorati tags: ReSharper, [...]

  6. Ilya Ryzhenkov Says:

    Expressions should have been fixed in recent nightly builds. You can refresh your installation and try again.