c#字符串到变量名
本文关键字:变量名 字符串 | 更新日期: 2023-09-27 18:10:33
嗨,我正试图将这个RichTextBox变量名称从TextBox设置为字符串名称这是可能的吗?
public void AddTab(string name)
{
TabPage NewPage = new TabPage(name);
RichTextBox TextBox = new RichTextBox();
TextBox.GetType().GetProperty("Name").SetValue(TextBox, name,null);
this.tabControl1.TabPages.Add(NewPage);
NewPage.Controls.Add(TextBox);
TextBox.Location = new System.Drawing.Point(0, 0);
TextBox.Name = name;
TextBox.Size = new System.Drawing.Size(790, 460);
TextBox.TabIndex = 0;
TextBox.Text = "";
}
我不认为这是可能的局部变量,但这是可能的成员变量的对象使用反射。如果你走那条路,在MSDN知识库中有很多关于用反射设置属性的文章。
然而,反射是昂贵的,所以可能有更好的方法来实现你的设计。首先想到的一种可能性是使用带有String键的Dictionary。
read this
你可以使用Dictionary:
使用Dictionary<string, Variable>
var vartable = new Dictionary<string, Variable>();
vartable[strLine] = new Variable(input);
我相信RichTextBox有一个Tag属性,你可以设置它,然后检查它。这取决于你想用这个名字做什么。另一个问题是如何在静态编译语言中使用该变量?也许可以通过反思来使用但是我要问,为什么?