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