在对象名称中使用字符串

本文关键字:字符串 对象 | 更新日期: 2023-09-27 18:20:37

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

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

所以对象名称应该是

Form1Objecttest123

在对象名称中使用字符串

这是不可能的。你可以用一本字典:

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

字典类型将是最好的选择。使用类似的东西

Dictionary<string, object> list = new Dictionary<string, object>();
list.Add("test123", new Form1(selectedNodeText));

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

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

Form1派生出一个名为Form1Objecttest123的类型。

然后你付出巨大的努力,发射出任何不仅仅来自它的成员

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