在我的程序中,我有一個列表框,當用戶雙擊一個對象時,它會查看一個switch語句以查看應該發生的事件。隨着列表開始變大,我很好奇是否有辦法避免必須維護2個地方的對象列表(一次在列表中添加到列表框中,一次在switch語句中)。 有沒有辦法索引/讀取/存儲我的switch語句的各種情況,然後將其作爲對象添加到列表框中我如何從Switch語句存儲個案清單?
例子:?(不工作,只是一種理論)
Switch (n)
ForEach (Case c in Cases)
{
arrayCases.Add(c);
}
listbox.Items.AddRange(arrayCases);
編輯:
查看詞典推薦我現在有:
public void SetDictionary()
{
//add entries to the dictionary
dict["cat"] = new Action(Cat);
dict["dog"] = new Action(Dog);
//add each dictionary entry to the listbox.
foreach (string key in dict.Keys)
{
listboxTest.Items.Add(key);
}
}
//when an item in the listbox is double clicked
private void listboxTest_DoubleClick(object sender, EventArgs e)
{
testrun(listboxCases.SelectedItem.ToString());
}
public void testrun(string n)
{
//this is supposed to receive the item that was double clicked in the listbox, and run it's corresponding action as defined in the dictionary.
var action = dict[n] as Action action();
}
我相信我上面的代碼大部分都是正確的,而且我正在理解它,但是操作行: var action = dict [n] as Action action();
顯示錯誤,指出'行動'期待';'。我的邏輯準確嗎?如果是這樣,爲什麼行動電話不正確?
你的例子沒有意義。 – Hogan
@Hogan,它例如什麼起毛想要實現:這是枚舉交換機的所有案件... –
我明白你的意思,你要以編程方式生成在交換機的情況下,但實際上你應該不需要做這個。還有另一種方法可以做任何你想做的事情,比如選擇列表框的選定索引。 – Mitch