ホームページ > バックエンド開発 > C++ > C# でプロパティ名を文字列として取得するにはどうすればよいですか?

C# でプロパティ名を文字列として取得するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-12 07:58:42
オリジナル
326 人が閲覧しました

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>
ログイン後にコピー

このメソッドは、プロパティ アクセサーを表すラムダ式を受け取り、プロパティの名前を返します。

例:

<code class="language-csharp">string propertyName = GetPropertyName(() => SomeClass.SomeProperty);</code>
ログイン後にコピー

以上がC# でプロパティ名を文字列として取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート