我正在尝试创建一系列对象,但我希望每个对象名称都包含一个字符串
string test = "test123"
Form1 Form1Object<string goes here> = new Form1(selectedNodeText);
所以对象名称是
Form1Objecttest123
答案 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()
来返回它。