按名称获取类成员

本文关键字:成员 获取 | 更新日期: 2023-09-27 18:30:22

我需要在类中获取一个类的成员。

在 MainForm(带设计的类)中,我有很多组合框和文本框,所以写一个每个名字是非常不舒服的,我认为这是可能的,但不确定。

为了说明,假设我有 10 个名称为"cb_0..9"的 ComboBox,而不是所有 ComboBox 的写入名称,我想在 for 循环中访问 SelectedIndex:

for (int i = 0; i < 10; i++) {
   this.GetMember("cb_" + i).SelectedIndex = 1;
}

这可能并且很容易做到吗?

按名称获取类成员

是的。 您需要强制转换控件才能将其用作组合框,例如

((ComboBox)this.Controls["cb_" + i]).SelectedIndex = 1;
for(int i=0; i<10; i++)
  ((ComboBox)FindControl(string.Format("cb_{0}", i))).SelectedIndex=1;

我没有运行过这段代码 - 所以它可能并不完美 - 但是一个很好的起点