2 回答

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
您應(yīng)該使用數(shù)組而不是四個(gè)不同的變量:
bool[] QButton_True = new bool[4];
for (int i = 0 ; i < 4 ; i++) {
QButton_True[i] = true;
}
您不要將它們稱為Q1Button_True, Q2Button_True... ,而是將它們稱為QButton_True[0], QButton_True[1]...

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以為此使用反射,但對(duì)于這種情況,它可能有點(diǎn)過(guò)分了。
如果您只是將所有變量設(shè)置為 true,您可能只想將它們?cè)O(shè)置在源上。
bool Q1Button1_True = true;
bool Q2Button1_True = true;
bool Q3Button1_True = true;
bool Q4Button1_True = true;
另外,如果這是一個(gè)會(huì)增長(zhǎng)的東西,讓我們對(duì) Q 說(shuō),n那么你可能想要一個(gè)數(shù)組,而不是Q1Button1_True你會(huì)擁有Button1_True[1].
我假設(shè)您將在應(yīng)用程序的多個(gè)部分中執(zhí)行此操作,因此擁有一些“動(dòng)態(tài)”設(shè)置器可能是明智的選擇。在這種情況下,您可以使用反射:
bool Q1Button1_True, Q2Button1_True, Q3Button1_True, Q4Button1_True;
List<string> radioBtns = new List<string>(new string[] { "Q1Button1_True", "Q2Button1_True", "Q3Button1_True", "Q4Button1_True" });
foreach (string Btn in radioBtns)
{
bool buttonVar = this.GetType().getProperty(Btn).getValue(this, null);
buttonVar = true;
}
另一種方法是使用類似這樣的東西:
bool Q1Button1_True, Q2Button1_True, Q3Button1_True, Q4Button1_True;
List<string> radioBtns = new List<string>(new string[] { "Q1Button1_True", "Q2Button1_True", "Q3Button1_True", "Q4Button1_True" });
foreach (string Btn in radioBtns)
{
PropertyInfo buttonVar = this.GetType().GetProperty(Btn);
buttonVar.SetValue(this, true, null);
}
- 2 回答
- 0 關(guān)注
- 402 瀏覽
添加回答
舉報(bào)