某个类A,含有方法B,通过反射得出A的实例a:
1、A中的B方法实现接口IB
(a as IB).B();
2、使用dynamic
dynamic d = a;
d.B();

解决方案 »

  1.   

    某些类A1、A2、A3....,都含有方法B,当然实现不一样,通过反射得出其中一个类的实例a:
    1、这些类中的B方法实现接口IB
    (a as IB).B();
    2、使用dynamic
    dynamic d = a;
    d.B();
    哪个写法好一些?
      

  2.   

    http://www.cnblogs.com/luminji/archive/2011/02/18/1957484.html
      

  3.   

    如果a继承IB,那么a应该可以直接点出B方法呀,也就是a.B()
      

  4.   

    反射出来的都是object类型,点不出B方法的。
      

  5.   

    我知道怎么用dynamic对方法进行反射,不知道怎么用dynamic对类进行反射。
    例如有字符串“ClassName”,怎么用dynamic处理它?
      

  6.   

    例如有字符串“C1”,怎么用dynamic处理出来C1的对象?
      

  7.   

    如果用了接口就无需手动反射。如果没用接口就自然需要反射,dynamic则属于不得已为之手段,除非你自己明确知道结果否则轻易不要用dynamic当然我个人认为你的前提本身就有的设计上的省略过程。如果已经知道接口或固定方法,其实手段多的很,桥接,适配,MEF自动配置,IOC依赖配置文件配置,接口工厂,方法工厂都是可能的手段。手动反射只是一个最原始的样子