ホームページ > バックエンド開発 > C++ > 実行時にC#変数またはパラメーターの名前を取得するにはどうすればよいですか?

実行時にC#変数またはパラメーターの名前を取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-27 03:51:12
オリジナル
356 人が閲覧しました

How Can I Get the Name of a C# Variable or Parameter at Runtime?

C# で変数とパラメーターの名前を取得する

問題ステートメント:

関数に渡される変数またはパラメーターの名前を決定します。たとえば、次のコードがあるとします:

<code class="language-csharp">var myInput = "input";
var nameOfVar = GETNAME(myInput); // ==> nameOfVar 应该等于 "myInput"

void testName([Type?] myInput)
{
   var nameOfParam = GETNAME(myInput); // ==> nameOfParam 应该等于 "myInput"
}</code>
ログイン後にコピー

両方のケースで「myInput」の名前を取得するにはどうすればよいでしょうか?

解決策:

C# 6.0 より前のソリューション:

MemberInfoGetting クラスを使用すると、指定されたメンバーの名前を取得できます。その方法は次のとおりです:

<code class="language-csharp">public static class MemberInfoGetting
{
    public static string GetMemberName<T>(Expression<Func<T>> memberExpression)
    {
        MemberExpression expressionBody = (MemberExpression)memberExpression.Body;
        return expressionBody.Member.Name;
    }
}

// 获取变量名称:
string testVariable = "value";
string nameOfTestVariable = MemberInfoGetting.GetMemberName(() => testVariable);

// 获取参数名称:
public class TestClass
{
    public void TestMethod(string param1, string param2)
    {
        string nameOfParam1 = MemberInfoGetting.GetMemberName(() => param1);
    }
}</code>
ログイン後にコピー

C# 6.0 以降のバージョン計画:

C# 6.0 で導入された nameof 演算子は、パラメーター、変数、プロパティ名の取得プロセスを簡素化します。その方法は次のとおりです:

<code class="language-csharp">string testVariable = "value";
string nameOfTestVariable = nameof(testVariable);</code>
ログイン後にコピー

以上が実行時にC#変数またはパラメーターの名前を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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