Tag: 派遣

如何根据C#<4中参数的运行时类型调度方法?

我有一个对象o ,它在运行时保证是三种类型A , B或C ,所有这些都实现了一个通用接口I 我可以控制I ,但不能控制A , B或C (因此我可以使用空标记接口,或者通过使用接口以某种方式利用类型中的相似性,但我无法添加新方法或更改类型中的现有方法。) 我还有一系列MethodA , MethodB和MethodC 。 查找o的运行时类型,然后将其用作这些方法的参数。 public void MethodA(A a) { … } public void MethodB(B b) { … } public void MethodC(C c) { … } 使用此策略,现在必须对o的类型执行检查以确定应调用哪个方法。 相反,我想简单地有三个重载方法: public void Method(A a) { … } // these are all overloads of each other public void […]