Variable * name * automatisch generieren, um den von Ihnen angegebenen Parameter zu erreichen?

9

R # 4.5 (Antworten auf 5 sind willkommen)
VS2008 (Antworten auf VS2010 sind willkommen)
C # (FWIW)

Ich benutze einen Konstruktor (die Frage gilt auch für Methoden), und es gibt Intellisense:

Ich habe noch keinen Wert für diesen ersten Parameter "firstName" anzugeben. Heute gebe ich "firstName" ein und lasse dann die IDE diese Variable für mich erstellen (die ich auf einen Wert initialisiere).

Ich verstehe, dass die IDE die Variable für mich erstellen wird. Ich möchte, dass es den Variablennamen für mich erstellt.

Ich möchte nicht "firstName" eingeben müssen. Ich mag den Variablennamen, den der Autor des Parameters gewählt hat, und ich möchte diesen Variablennamen in meinem (aufrufenden) Code verwenden.

Gibt es eine Möglichkeit, diese akzeptablen variablen Namen automatisch für mich (den aufrufenden Code) neu zu generieren, wenn ich Parameter für Parameter durch diese Zeile des (Aufruf-) Codes bewege?

    
lance 18.08.2010, 15:11
quelle

5 Antworten

2

Sie können mit VS2010 in die Nähe von dem kommen, was Sie suchen.

  • Geben Sie p.Foo( ein

Dies öffnet die Beschreibung des aktuell ausgewählten Konstruktors aus der Liste aller Konstruktoren. Wenn Sie einen Buchstaben eingeben oder Strg + Leerzeichen drücken, wird intellisense auto completion geöffnet.

Ein Unterschied zwischen VS2008 und VS2010 sind die benannten Parameter. In VS2010 enthält Ihre Abschlussliste Einträge für die benannten Parameter firstName: und lastName: .

  • Geben Sie den ersten Buchstaben des Parameternamens ein (was Sie als "den Variablennamen, den der Autor des Parameters gewählt hat" bezeichnen)

Intellisense sollte direkt zu diesem Eintrag springen und Ihnen erlauben, die Vervollständigung genau so durchzuführen, wie es normalerweise der Fall ist.

  • Geben Sie ein Leerzeichen, eine Eingabetaste oder ein Komma
  • ein

Intellisense wird die Kennung für den benannten Parameter einfügen. Es wird nicht den Doppelpunkt einfügen (außer Sie geben es ein), so dass Sie die benannte Parameter-Funktion nicht verwenden müssen, um Ihr Ziel hier zu erreichen. Sie können nur den Vorteil nutzen, dass der von Ihnen gesuchte Text in Ihrer Abschlussliste enthalten ist.

Wie Sie Visual Studio dazu bringen, die lokalen Variablen tatsächlich zu erzeugen (was Ihrer Frage nach so aussieht, als hätten Sie es bereits gelöst), verblüfft mich, und es liegt an Ihnen, sich darum zu kümmern :) Wenn Sie haben das zweite Problem geleckt, würde ich gerne auch wissen.

    
Merlyn Morgan-Graham 25.08.2010, 21:55
quelle
0

Sie können ein Code-Snippet erstellen, das die Variable erstellt und als Parameter einfügt.

MSDN-Referenz zu Snippets

    
ja72 22.08.2010 16:58
quelle
0

Ich verstehe Ihr Szenario nicht vollständig, aber ich nehme an, Sie möchten einen Variablennamen aus der aufrufenden Assembly in den aufgerufenen Code einfügen. Wenn dies der Fall ist, sollten Sie in System.CodeDom schauen, mit dem Sie die Klasse und ihre Member zur Laufzeit neben vielen anderen Funktionen erstellen können.

    
Kay Khan 23.08.2010 15:03
quelle
0

Ich bin mir ziemlich sicher, dass Sie es mit Resharper oder CodeRush / Refactor machen können.

    
ralf.w. 23.08.2010 19:09
quelle
0

Es hört sich für mich so an, als ob Sie versuchen würden, überhaupt nicht mehr zu tippen! Um die IDE in den Code einfügen zu können, müssen Sie dies nicht tun. Ein ziemlich hohes Ziel - mit der Ausnahme, dass Sie uns alle arbeitslos gemacht haben; - (

Alles, was Spaß macht, ist wahrscheinlich ein Code-Tool wie die T4 Toolbox (eines meiner neuen Lieblingsspielzeuge). Wenn Sie nach einem Tool suchen, mit dem Ihre Code-Snippets während der Eingabe automatisch generiert werden, ist das eine große Herausforderung. Die nächste verfügbare Sache wäre Resharper.

Hier ist ein Beispiel für einen Klassenkonstruktor, den ich aus meiner Anpassung von T4 Toolbox Vorlagen generiert habe:

%Vor%

Wenn Sie danach suchen, wäre der Ort, an dem Sie beginnen würden: Ссылка

Ich habe ein Beispielprojekt, wo ich Anpassungen der Vorlagen verwende, um meine Geschäftsklassen, verschiedene Methoden & amp; Repository-Schicht. Ссылка Es gibt ein Beispiel für die Komplexität der Ausgabe, die Sie generieren können Ссылка  

HTH

    
James Fleming 25.08.2010 13:49
quelle