2 回答

TA貢獻2021條經驗 獲得超8個贊
您應該使用數組而不是四個不同的變量:
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貢獻1783條經驗 獲得超4個贊
您可以為此使用反射,但對于這種情況,它可能有點過分了。
如果您只是將所有變量設置為 true,您可能只想將它們設置在源上。
bool Q1Button1_True = true;
bool Q2Button1_True = true;
bool Q3Button1_True = true;
bool Q4Button1_True = true;
另外,如果這是一個會增長的東西,讓我們對 Q 說,n那么你可能想要一個數組,而不是Q1Button1_True你會擁有Button1_True[1].
我假設您將在應用程序的多個部分中執行此操作,因此擁有一些“動態”設置器可能是明智的選擇。在這種情況下,您可以使用反射:
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 關注
- 418 瀏覽
添加回答
舉報