Ja, indem ich auf VB.NET umsteige. ;P (Du hast gerade "Visual Studio" gesagt. ;)
Solange ich mich erinnern kann (von Visual Basic bis zu allen Versionen von VB.NET), können Sie einfach den Funktionsnamen abfragen. Er "funktioniert" wie eine lokale Variable, die implizit am Anfang der Funktion deklariert wird und deren aktueller Wert auch als Rückgabewert verwendet wird, wenn die Funktion durch eine Nicht-Rückgabe-Anweisung beendet wird (d.h. Exit Function
oder einfach durchfallen) und natürlich, wenn die Return-Anweisung verwendet wird.
Er wird auch auf den Ausdruck der Return-Anweisung gesetzt. Genau wie eine lokale Variable kann ihr Wert an jedem Punkt der Ausführung innerhalb der Funktion überprüft werden (auch nach der Ausführung der Return-Anweisung). C# hat dies nicht und sollte es auch nicht haben.
Diese kleine VB.NET-Funktion (und die Exit Function
Anweisung, die es ermöglicht - eine weitere Funktion, die C# nicht hat und haben sollte) ist sehr nützlich in einer Form von defensive Programmierung Ich praktiziere, indem ich den Funktionsnamen immer mit dem Fehler/Standardwert als erste Anweisung initialisiere. Dann kann ich an jedem Fehlerpunkt (der normalerweise viel häufiger auftritt als Erfolgspunkte) einfach die Exit Function
Anweisung (d. h. ohne den Fehler-/Vorgabeausdruck oder sogar einen Konstanten-/Variablennamen duplizieren zu müssen).
2 Stimmen
Sie können eine Überwachung hinzufügen, wenn Sie im Aufrufstapel nach oben gehen
0 Stimmen
Früher konnte man das in VB6 machen, wenn ich mich recht erinnere. Aber damals bestand die Syntax für Funktionen darin, den Wert der Funktion auf den Rückgabewert zu setzen...
5 Stimmen
Kommentar für Visual C++-Benutzer: Geben Sie $ReturnValue in das Immediate Window oder das Watch Window ein. Zumindest bei meinem VS 2010 hat es funktioniert!
11 Stimmen
Für VS2015 verwenden Sie $ReturnValue1 .. incase Sie wollen nicht durch die 20 Antworten und 100 Kommentare unten zu lesen!
7 Stimmen
Was ist die Antwort für 2019 auf all diese Fragen? Diese Antworten sind sehr veraltet.
0 Stimmen
Visual Studio 2019 für Mac scheint nichts zu haben (ich sehe das Auto-Fenster nicht, und die Uhr für
$ReturnValue
gibt keinen Pfifferling).0 Stimmen
@dylanh724 Beim Debuggen von verwaltetem C#-Code,
$ReturnValue
wird nur das Ergebnis angezeigt unmittelbar nach Ausstieg aus einer Funktion.0 Stimmen
@dylanh724 In Visual Studio 2019 müssen Sie nach $ReturnValue in Immediate Window (einfach ausführen) NACH Verlassen der Methode/Funktion suchen. Es funktioniert auch im Watch Window.