毎日の勤務時間中に、1 つの問題に遭遇しました。
仮定する:
- オブジェクトAがあり、それは
Objectタイプです - たぶんタイプまたは
BタイプC - タイプ
BとC同じ名前のメソッドを持っていますGetSomething() B両方の実装が同じインターフェースであるかどうかはわかりませんC(つまり、それらの間の関係がわからないことを意味します)- type
BとCinherit fromObjectは何の助けにもなりません。同じメソッド名を除けば、型Bと型については何も知りません。C
GetSomething問題は、型に関係なく、Aから呼び出したいということです。
//Object A maybe type B or C
//both B and C can call method
//but we just don't know type of A
var result=A.GetSomething();
このシナリオに遭遇した場合、あなたはどうしますか?