Heim >Backend-Entwicklung >C++ >Wie kann ich den Namen einer Eigenschaft als Zeichenfolge in C# abrufen?

Wie kann ich den Namen einer Eigenschaft als Zeichenfolge in C# abrufen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-12 07:58:42352Durchsuche

How Can I Get a Property's Name as a String in C#?

Attributnamenszeichenfolge abrufen

In C# 6.0 und höher können Sie den Ausdruck nameof verwenden, um den Eigenschaftsnamen bequem als Zeichenfolge abzurufen. Dieser Ausdruck wird zur Kompilierungszeit in den Namen der Eigenschaft aufgelöst.

Beispiel:

<code class="language-csharp">string propertyName = nameof(SomeClass.SomeProperty);</code>

Dieser Ausdruck ergibt zur Kompilierungszeit „SomeProperty“.

Hinweis: nameof kann nur für Attribute verwendet werden, nicht für Mitglieder anderer Typen.

Frühe Version von C#

In Versionen vor C# 6.0 können Sie die folgende Methode verwenden:

<code class="language-csharp">public string GetPropertyName<T>(Expression<Func<T>> propertyLambda)
{
    var memberExpression = propertyLambda.Body as MemberExpression;

    if (memberExpression == null)
        throw new ArgumentException("表达式必须是属性lambda表达式。");

    return memberExpression.Member.Name;
}</code>

Diese Methode verwendet einen Lambda-Ausdruck, der einen Eigenschaftszugriffsmechanismus darstellt, und gibt den Namen der Eigenschaft zurück.

Beispiel:

<code class="language-csharp">string propertyName = GetPropertyName(() => SomeClass.SomeProperty);</code>

Das obige ist der detaillierte Inhalt vonWie kann ich den Namen einer Eigenschaft als Zeichenfolge in C# abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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