Heim > Backend-Entwicklung > C++ > Wie kann ich eine typsichere Datenbindung in C# vor und nach dem „nameof'-Operator erreichen?

Wie kann ich eine typsichere Datenbindung in C# vor und nach dem „nameof'-Operator erreichen?

Mary-Kate Olsen
Freigeben: 2025-01-01 02:44:08
Original
302 Leute haben es durchsucht

How Can I Achieve Type-Safe Data Binding in C# Before and After the `nameof` Operator?

Nameof-Operator-Alternative für typsichere Datenbindung in C#

Eine der aktuellen Sprachverbesserungen für C# ist die Einbeziehung eines „nameof“. 'Operator. Dieser Operator ermöglicht den typsicheren Zugriff auf Eigenschaftsnamen und erleichtert so das Binden von Domänenobjekten an UI-Elemente. Hier ist eine Problemumgehung, die ähnliche Funktionen in C# vor der Implementierung des „nameof“-Operators bereitstellen kann.

.NET 3.5-Problemumgehung

In .NET 3.5 ist dies möglich Verwenden Sie Lambda-Ausdrücke, um Eigenschaftsnamen als Zeichenfolgen zu extrahieren:

class Program
{
    static void Main()
    {
        var propName = Nameof<SampleClass>.Property(e => e.Name);

        Console.WriteLine(propName);
    }
}

public class Nameof<T>
{
    public static string Property<TProp>(Expression<Func<T, TProp>> expression)
    {
        var body = expression.Body as MemberExpression;
        if (body == null)
            throw new ArgumentException("'expression' should be a member expression");
        return body.Member.Name;
    }
}
Nach dem Login kopieren

Dieser Code verwendet eine generische Klasse, „Nameof<>“, um einen Ausdruck zu akzeptieren, der auf eine Eigenschaft abzielt. Anschließend wird der Hauptteil des Ausdrucks untersucht, um den Eigenschaftsnamen zu extrahieren.

Hinweis: Diese Problemumgehung erfordert C# 3.0 oder höher.

.NET 2.0-Kompatibilität

Leider ist die Implementierung der Funktionalität des „nameof“-Operators in .NET 2.0 nicht möglich nicht möglich. Sie können Eigenschaftsnamen jedoch weiterhin mithilfe von Reflektion manuell erstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich eine typsichere Datenbindung in C# vor und nach dem „nameof'-Operator erreichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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