在对象名称中使用字符串

时间:2012-01-17 14:53:26

标签: c# .net windows

我正在尝试创建一系列对象,但我希望每个对象名称都包含一个字符串

string test = "test123"
Form1 Form1Object<string goes here> = new Form1(selectedNodeText);

所以对象名称是

Form1Objecttest123

3 个答案:

答案 0 :(得分:4)

那是不可能的。你可以使用字典:

Dictionary<string, Form> forms = new Dictionary<string, Form>();
forms[test] = new Form1(selectedNodeText);

答案 1 :(得分:0)

字典类型将是要走的路。 使用像

这样的东西
Dictionary<string, object> list = new Dictionary<string, object>();
list.Add("test123", new Form1(selectedNodeText));

答案 2 :(得分:0)

这是可能的。如果您有一个ModuleBuilder对象mb,那么您可以使用:

mb.DefineType("Form1Objecttest123", TypeAttributes.Public, typeof(Form1))

创建从Form1Objecttest123派生的名为Form1的类型。

然后你发挥巨大的努力,释放任何不仅仅是从中衍生出来的成员。

与添加在其构造函数中设置的名称属性Form1(或从其派生的单个类)相比,这几乎肯定对您没有任何价值。在你关心的时候查询它,和/或覆盖ToString()来返回它。