我有一个常见的下拉框块,我想迭代,而不是每次都通过所有这些,即使只需要前几个。它们都具有完全相同的名称,但引用它们在层次结构中的特定位置的数字除外。
基本上,有一个MaxSpellLevel值可以确定此特定类或角色可以使用的法术等级。如果最大法术等级仅为2,则没有理由一直到9,因为无论如何都不需要2之后的所有内容。
到目前为止我的代码是:
if(cbox_Magical.Text != "Non-Magical") {
// Save Spell Information Here
int MaxSpellLevel = int.Parse(cbox_MaxSpell.Text);
for(int i = 0; i <= MaxSpellLevel; i++) {
string KnownString, PerDayString;
KnownString = "cbox_Known" + Convert.ToString(i);
PerDayString = "cbox_PerDay" + Convert.ToString(i);
Type Known = Type.GetType(KnownString);
Type PerDay = Type.GetType(PerDayString);
XElement SpellKnown = new XElement("SpellsKnown",
new XAttribute("level", Convert.ToString(i)),
Known.Text);
XElement SpellUse = new XElement("SpellUse",
new XAttribute("level", Convert.ToString(i)),
PerDay.Text);
c.Add(SpellKnown);
c.Add(SpellUse);
}
}
我有一系列标有“cbox_Known0&#39;”,“cbox_Known1&#39;等”的下拉框。有没有办法做我在下面尝试的方法?我已经研究过反思,但遗憾的是我不理解它,或者它不适合我的尝试。