0

您如何确定变量的名称并在运行时访问它?例如,如果我有两个字符串:

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 回答