Ich verstehe die Verwendung des nameof()
-Operators für die Ausnahmebehandlung, die Protokollierung usw. Aber ich verstehe das untenstehende Beispiel nicht direkt aus irgendeinem Microsoft-Code.
Wie ist das nützlicher als
? %Vor% nameof
ist ein Operator, der zur Kompilierzeit ausgewertet wird. Wenn Ihre Anwendung kompiliert wurde, gibt es also keinen Unterschied zwischen diesen beiden Lösungen.
Die Verwendung von nameof
hat in diesem Fall jedoch einige Vorteile:
Ganz einfach: Das erste Beispiel leitet den zugewiesenen Wert vom Namen der referenzierten Variablen ab, während der zweite den Wert von einer beliebigen Zeichenfolge ableitet, die mit dem Variablennamen übereinstimmen kann oder nicht.
Wenn Sie also den Namen der Variablen umformulieren, wird der Wert, der diesen Variablen zugeordnet ist, automatisch im ersten Beispiel aktualisiert, während Sie sicherstellen müssen, dass Sie den Zeichenfolgenwert auch in der Tabelle aktualisiert haben zweites Beispiel.
Es ist erwähnenswert, dass beide unter der Haube auf die gleiche IL kompilieren und den Wert eines statischen Feldes auf den Auswertungsstapel schieben (per LinqPad):
%Vor%