Ich möchte den Namen einer Variablen als String erhalten können.
Dies kann effektiv erreicht werden durch mit einem parameterlosen Lambda-Ausdruck . Dies hat jedoch einen Leistungsaufwand und es ist keine integrierte Funktionalität.
.NET 4.5 hat CallerMemberNameAttribute
bereitgestellt Geben Sie den Namen eines Aufrufers als Methodenargument an. Dies gibt uns eine eingebaute und bessere (in einigen Fällen) Möglichkeit, dies für bestimmte Situationen zu tun.
.NET 4.5 hat in diesem Bereich für einen bestimmten Kontext eine Verbesserung gebracht. Gibt es jetzt auch ein besseres ^, um den Namen einer Variablen als String zu erhalten?
Wie gewünscht, hier ein allgemeines Anwendungsbeispiel für das, was ich gerne erreichen möchte:
%Vor%^ Mit besser, ich meine schneller, keine Reflexion, eingebaut in .NET oder eleganter, aber vorzugsweise eine Kombination von diesen.
Nein, es gibt keinen besseren / schnelleren Weg. Ich denke, der Ausdruck Baum, den Sie verbunden haben, ist der einzige Weg, zum Namen der Variable zu kommen.
Die CallerMemberNameAttribute
, CallerFilePathAttribute
, CallerLineNumberAttribute
sind die einzigen neuen Funktionen, die in .NET 4.5 in diesem Bereich eingeführt wurden.
Tags und Links .net c# reflection .net-4.5