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 = "";
    }

c#字符串到变量名

我不认为这是可能的局部变量,但这是可能的成员变量的对象使用反射。如果你走那条路,在MSDN知识库中有很多关于用反射设置属性的文章。

然而,反射是昂贵的,所以可能有更好的方法来实现你的设计。首先想到的一种可能性是使用带有String键的Dictionary。

read this

你可以使用Dictionary:

使用Dictionary<string, Variable>

var vartable = new Dictionary<string, Variable>();
vartable[strLine] = new Variable(input);

我相信RichTextBox有一个Tag属性,你可以设置它,然后检查它。这取决于你想用这个名字做什么。另一个问题是如何在静态编译语言中使用该变量?也许可以通过反思来使用但是我要问,为什么?