C#如何把字符串当做变量名使用?????

来源:百度知道 编辑:UC知道 时间:2024/05/29 00:53:15
你看看下面这样写应该没问题吧?
string Name;
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
Name = this.TextBox1.Text.Trim().ToString();
FieldInfo MyInfo = typeof(String).GetField("Name");
Label1.Text = MyInfo.GetValue(this).ToString();
}

报错:未将对象引用设置到对象的实例。

行 24: Label1.Text = MyInfo.GetValue(this).ToString();

您好,
<br><br>
<br><br>您的意思是否是根据用户输入的字符串调用相应的变量?
<br><br>
<br><br>如果是,那么通过使用反射,这个是可以实现的。
<br><br>
<br><br>具体的做法是,使用System.Type类和System.Reflection命名空间中的FieldInfo类,我写了一个小程序,您可以先参考一下,如果还有疑问,您可以补充问题。
<br><br>
<br><br>using System;
<br><br>using System.Collections.Generic;
<br><br>using System.ComponentModel;
<br><br>using System.Data;
<br><br>using System.Drawing;
<br><br>using System.Text;
<br><br>using System.Windows.Forms;
<br><br>using System.Reflection;//引用System.Reflection命名空间。
<br><br>
<br><br>namespace WindowsApplicationTestReflectionString
<br><br>{
<br><br> public partial class Form1 : Form
<br><br> {
<br><br> int N