日期:2014-05-17  浏览次数:20426 次

ASP.net中如何调用不同类中的相同方法。
我写了一个接口IA

多个方法,B,C,D,都继承于IA

如何根据条件来调用分别调用不同类中的同一个方法?

------解决方案--------------------
你的问题没太看明白

方法怎么继承了接口lA

------解决方案--------------------
IA o;
if(XXX)o=new B();
else if(XXX)o=new C();
...
o.Do();
------解决方案--------------------
根据条件生成不同类型的对象即可。
------解决方案--------------------
引用:
IA o;
if(XXX)o=new B();
else if(XXX)o=new C();
...
o.Do();

对象都具有IA接口,于是你就调用对象o的IA接口方法就好了,代码就是
((IA)o).Do();
如果我们可以少讲雷人的名词儿,当然是越少越好。对于这个概念,不需要任何模式。
------解决方案--------------------
很简单,这就是工厂模式。根据条件,工厂提供同一接口的各种实现类的对象,而你的主程序只要从工厂得到对象,调用那个方法就可以了。
------解决方案--------------------
接口本来就是解决 不同类中调用的相同方法
就是所谓的多态