Ich bin mitten in einem großen Refactoring.Automatisches Refactoring zum Hinzufügen von Parameternamen zu Methodenaufrufen
Ich habe Dutzende von Methoden, die über Positionsparameter aufgerufen werden. Jetzt möchte ich sie über benannte Parameter aufrufen lassen. Die Methoden existieren in mehreren, nicht vererbten Klassen und haben denselben Namen und ihre Signaturen unterscheiden sich. Beispiel:
Definitionen
public class Foo
{
public static Foo Create(int count, string name)
{
...
}
}
public class Bar
{
public static Bar Create(string description, bool yesNo, float factor)
{
...
}
}
Und die folgenden Anrufe I, von
public void CreateSomeObjects()
{
var foo = Foo.Create(123, "foo");
var bar = Bar.Create("bar", true, 1.23);
}
zu
public void CreateSomeObjects()
{
var foo = Foo.Create(count: 123, name: "foo");
var bar = Bar.Create(description: "bar", yesNo: true, factor: 1.23);
}
Ich benutze Visual Studio Premium-2013 und ReSharper ersetzen möchten . Irgendwelche Ideen, wie man das erreicht? (Ich brauche nur einen Hinweis, keine vollständige Lösung.)
Haben Sie eine Lösung gefunden? Vielen Dank ... – ManOnAMission
Leider nicht. Mein aktueller Ansatz ist es, dies mit [Roslyn] (https://github.com/dotnet/roslyn) umzuschreiben. Da ich gerade am Anfang bin, werde ich keinen Code für jetzt veröffentlichen. –
CodeRush scheint in der Lage zu sein, benannte Parameter einzufügen (es ist ein Kontextmenü, das Sie manuell anklicken müssen, also keine automatisierte Lösung). – ManOnAMission