2015-04-08 12 views
8

sagen, dass es ein Verfahren ist,„Automatisch einfügen, um alle benannten Argumente“ bei Methodenaufruf-Ort, in Code

void M(int a, int b, int c /* and many more */) 

Gibt es eine Möglichkeit M()-M(a: .., b: .., c: ..) im Call-Ort zu verwandeln?

Ich benutze Visual Studio 2013 (Ultimate) mit ReSharper 8. Eine integrierte Lösung (oder Erweiterung, falls erforderlich), die beide verwendet werden, wäre geeignet.

Dies ist ähnlich zu Is there any tools to help me refactor a method call from using position-based to name-based parameters, obwohl ich erwarte, mit keine Argumente zu beginnen; und stelle die Frage 4 Jahre später.

+1

Ich bin mir nicht ganz sicher, was Sie hier fragen, aber wenn Sie wollen nur M (a, b, c, ...) für Sie generiert werden ... Ich weiß nicht von einer- Shot-Lösung, aber Sie könnten nur f12 in die Methode, kopieren Sie die Signatur, STRG - zurück zu der Zeile, die Sie waren, einfügen, wählen Sie die Methodensignatur und dann ersetzen Sie schnell Int mit ":" –

Antwort

0

Nicht sicher, ob ich Ihre Anforderung vollständig verstehe.

Sie könnten ein T4Template verwenden und eine partielle Klasse mit den genannten Methodenargumenten generieren. Ansonsten kann ich nur einen params Parameter arbeiten sehen, aber das würde das Problem mit dem benannten Parameter nicht lösen.