The Art of Readable Code && High Performance Comments
  1. 在某些列表類的物件 (包含 TreeView, ListView 的 List 顯示),Coder 沒有辦法直接改變被選取物件的顯示方式。TreeView/ListView 只提供 ForeColor 與 BackColor 描述一般 (未選取) 物件的顏色,而透過 SelectedItem 或 SelectedNode 拿到的 Fore/Back Color,也是描述該節點在未被選擇時的顯示顏色。
    要解決這個問題,只能自創 class XXXX : ListView,然後在自己的物件的 XXXX.BeforeSelection 取消選擇,另行記錄使用者點擊的子選項,然後把這個選項換成 Coder 想要的顏色;這樣看起來就像是使用者 “選擇” 了那個選項。
  2. 假設類別 (Class) C D E 都有 GetChild 這個方法,分別傳回 List <C>, List <D>, List <E>;那麼要如何建立適當的介面 (Interface),讓它能代表這三個類別的行為呢 ?
    • 建立母類別讓這三個類別繼承
    • 或者是利用萬物不離其宗的道理,直接在介面裡要求 List <Object> 再去自己 Cast 成想要的型態
    • 如果後端 (吃資料的地方) 對物件型態不太挑嘴的話,也可以將介面也宣告為泛型。

發表迴響

分類

%d 位部落客按了讚: