Re: [閒聊] 程式大師請進

作者: jajeongsalan (插總撒狼)   2021-11-11 19:02:47
※ 引述 《ZooseWu (動物園)》 之銘言:
:  
: 我有兩個class A 與 B
:  
: 他們有80%的功能與函示名稱相似
:  
: 然後我只有runtime的時候才知道物件身上有哪一個class
:  
: 我有一個好方法可以簡單的呼叫 (A|B).function嗎
:  
: 對了class不是我寫的
:  
: 所以我沒辦法透過寫interface然後讓AB繼承這種方法
:  
: javascript可以簡單的用
:  
: if(typeof obj[FunctionName] === 'function') obj[FunctionName]()
:  
: 可是我寫的是C#
: ※ 編輯: ZooseWu (36.227.137.134 臺灣), 11/11/2021 18:29:41
不知道是不是你要的
列舉建一個
enum func{
typeA,
typeB
}
map把兩個class丟進去
map.set(func.typeA, funcA)
map.set(func.typeB, funcB)
runtime判斷身上是哪一個class
map.get(func.typeA)就可以把funcA叫出來
不過很多的話建map跟列舉好像有點麻煩
作者: Apache (阿帕契)   2021-11-11 19:09:00
只有兩個這樣做很冗==
作者: ZooseWu (N5)   2021-11-11 19:10:00
這樣跟寫代理的感覺好像差不多 而且除了function之外還有property也會發生一樣的事情
作者: jajeongsalan (插總撒狼)   2021-11-11 19:13:00
我想說動物園有30葛:/

Links booklink

Contact Us: admin [ a t ] ucptt.com