首页 > 后端开发 > C++ > 如何在 C# 中获取字符串形式的属性名称?

如何在 C# 中获取字符串形式的属性名称?

Barbara Streisand
发布: 2025-01-12 07:58:42
原创
300 人浏览过

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

获取属性名称字符串

在C# 6.0及更高版本中,您可以使用nameof表达式方便地将属性名称作为字符串获取。此表达式在编译时解析为属性的名称。

示例:

<code class="language-csharp">string propertyName = nameof(SomeClass.SomeProperty);</code>
登录后复制

此表达式在编译时计算结果为“SomeProperty”。

注意:nameof只能用于属性,不能用于其他类型的成员。

C#早期版本

在C# 6.0之前的版本中,您可以使用以下方法:

<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>
登录后复制

此方法采用表示属性访问器的lambda表达式,并返回属性的名称。

示例:

<code class="language-csharp">string propertyName = GetPropertyName(() => SomeClass.SomeProperty);</code>
登录后复制

以上是如何在 C# 中获取字符串形式的属性名称?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板