我定义了多个具有相同接口的类,我希望能在一个类当中灵活的调用我之前所定义的类,因此我在定义当前类的时候使用了泛型。但是我如何才能够调用之前所定义的类的方法?

解决方案 »

  1.   

    之前的类如果有继承关系,那不就好说了么,传递父类型,实例可能是子类型
    或者如果每个类的方法名都一样,参数也可兼容的话,直接用反射去获得MethodInfo,然后Invoke
      

  2.   

    有时候根本不需要什么类型参数
    DoSomething<T>(T instance) where T : IInterface;
    DoSomething(IInterface instance);
      

  3.   

    我定义了 A B C三个类 这三个类都使用了相同的接口I
    现在我要通过类 D来调用A B C三个类实现不同功能class D<T>
    {
        如何能够通过T对象调用A/B/C类的方法?
    }
      

  4.   

    感谢 KarasCanvas 成功 
      

  5.   

    class D<T> where T: I{}
    这样可以通过T的实例调用实现接口I的方法,你说的只能通过反射,那样用泛型就没意义了。