Heim > Backend-Entwicklung > C++ > Wie kann ich typsichere Eigenschaftsnamen in älteren .NET-Versionen ohne den Operator „nameof' abrufen?

Wie kann ich typsichere Eigenschaftsnamen in älteren .NET-Versionen ohne den Operator „nameof' abrufen?

Patricia Arquette
Freigeben: 2024-12-31 11:57:11
Original
885 Leute haben es durchsucht

How Can I Retrieve Type-Safe Property Names in Older .NET Versions Without the nameof Operator?

Typsicherer Eigenschaftsnamenabruf ohne nameof-Operator

Der .NET Core-nameof-Operator ermöglicht das einfache Abrufen von Eigenschaftsnamen als Zeichenfolgen und stellt den Typ bereit Sicherheit und Lesbarkeit des Codes. In früheren .NET-Versionen gibt es jedoch keinen integrierten Namen einer Alternative.

C# 3.5-Problemumgehung

In .NET 3.5 kann eine Problemumgehung mithilfe von Lambda erreicht werden Ausdrücke:

var propName = Nameof<SampleClass>.Property(e => e.Name);
Nach dem Login kopieren

Der Name von Die Klasse definiert eine Property-Methode, die einen Lambda-Ausdruck akzeptiert, der auf eine Eigenschaft abzielt, z. B. e => e.Name. Die Methode extrahiert den MemberExpression aus dem Lambda-Ausdruck und gibt den Namen der Eigenschaft zurück.

Das bereitgestellte Code-Snippet demonstriert diesen Ansatz für eine Eigenschaft mit dem Namen „Name“ in der SampleClass.

.NET 2.0-Implementierung

Die Implementierung der Namensfunktionalität in .NET 2.0 ist aufgrund von Einschränkungen nicht einfach mit Reflexion und Lambda-Ausdrücken. Es ist jedoch möglich, einen komplexeren Ansatz zu verwenden, der die MemberInfo-Klasse und ihre Reflexionsfunktionen einbezieht.

Das obige ist der detaillierte Inhalt vonWie kann ich typsichere Eigenschaftsnamen in älteren .NET-Versionen ohne den Operator „nameof' abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage