您如何确定变量的名称并在运行时访问它?例如,如果我有两个字符串:
string A = "This is A!";
string B = "This is B!";
我在文本框中输入 A,然后我想使用消息框显示 A 的内容。
MessageBox.Show(A); //Variable A is retrieved from the textbox input
这是可以通过反射实现的吗?如果没有,我怎样才能使这项工作?
我不明白,你到底会得到什么,但你可以使用这样的表达:
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);
}
你能描述具体的用例而不是概念问题吗?