0

大家好,

请在这件事上给予我帮助:

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

在自定义控件中,我有 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”是一个唯一的名称。我怎样才能让它自动分配给我的控件(控件 1、控件 2 等)的名称?

谢谢你。

4

1 回答 1

1

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

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

string variableName = "A" + Guid.NewGuid().ToString().Replace("-","");
于 2009-06-18T07:11:17.647 回答