0

変数の名前を決定し、実行時にアクセスするにはどうすればよいですか? たとえば、2 つの文字列があるとします。

string A = "This is A!";
string B = "This is B!";

そして、テキストボックスに A と入力すると、メッセージボックスを使用して A の内容を表示したいと思います。

MessageBox.Show(A); //Variable A is retrieved from the textbox input

これは反射で実行できるものですか?そうでない場合、どうすればこれを機能させることができますか?

4

1 に答える 1

1

何が得られるのか正確にはわかりませんが、次のような式を使用できます。

    static void PrintVariableName<T>(Expression<Func<T>> expression)
    {
        Console.WriteLine(((MemberExpression)expression.Body).Member.Name);
    }

    static void Main(string[] args)
    {
        var a = "Hello, world!";

        PrintVariableName(() => a);
    }

概念的な質問ではなく、具体的なユースケースを説明できますか?

于 2012-08-23T08:27:47.553 に答える