因此,我在我的項目中製作了一堆用戶控件,它們自動集成到系統中,跟蹤有關它們的某些事情。但是我不確定如何去做某個部分,而不是看起來很醜陋。用相同的方法自定義用戶控件,以相同的方式調用它們
所有控件都是從不同的控件類型(面板,文本框,組合框等)擴展而來,但有幾個完全相同的方法。
我想這樣做是避免這種情況:
public void SendMyMessage(Control thisControl)
{
if(thisControl is myPanel) (thisControl as myPanel).SendMessage();
else if(thisControl is myComboBox) (thisControl as myComboBox).SendMessage();
else if(thisControl is myTextbox) (thisControl as myTextbox).SendMessage();
else if(thisControl is myLabel) (thisControl as myLabel).SendMessage();
}
,寧願有一個更簡單的方法,將讓我打電話,在1號線。 (注意到我調用的SendMessage()函數在不同的控件上做了不同的事情,但不需要參數並且調用方式相同)
爲什麼你同時使用「是」,比「爲」?我會做'是'+'cast'或者只做'as'一次,然後檢查是否爲空。 –
因爲這個優化與原來的問題沒有關係;) – Restuta
所有的方法看起來都很混亂。我平等地討厭所有這些問題並解決問題,正如 – Corylulu