通过CodeDOM生成变量名称

时间:2009-06-18 06:56:56

标签: codedom

全部,

请帮助我:

我有一个包含自定义控件的表单。

在自定义控件中,我有2个集合引用同一个DataSource来获取数据。

我目前的CodeDOM序列化工具如下:

control1.Values.DataSource = new objA();
   control1.CategoryNames.DataSource = new objA();

如您所见,objA被实例化了2次。

如何解决这个问题?

我想我可以声明一个保存对objA的引用的变量,然后将该变量分配给2个集合:

    ObjA var = new objA();
    control1.Values.DataSource = var;
   control1.CategoryNames.DataSource = var;

但我无法确保“var”是一个独特的名称。如何自动为其自动分配Form给我的控件名称(control1,control2等)?

谢谢。

1 个答案:

答案 0 :(得分:1)

作为替代方案,您可以将变量命名为guid。它不能保证是唯一的,但它很可能是(特别是如果你的类中没有其他变量被命名为guids)。

您需要对其进行一些过滤才能使其成为有效的变量名称,例如确保以字母开头,并删除破折号。

string variableName = "A" + Guid.NewGuid().ToString().Replace("-","");