代码如下: public interface IA 
{ void TestA(); } 
class aa():IA
{
 public void TestA() { Console.WriteLine("Test A"); }
 public void TestB() {Console.WriteLine("Test B"); } 
}
class Program { 
static void Main(string[] args) 
{
 IA aa =new class aa(); 
aa.TestA();
aa.TestB(); //如何实现呢?
}

解决方案 »

  1.   

    either add TestB method to IA or replace IA   aa  by aa aa ..?your is bad..
      

  2.   

    是我没说明白~是这样,接口IA是发布过很久的接口,很多类继承了这个接口,所以不能改,而用IA定义的aa是一个函数的返回值,这个函数肯定也不能改。现在某一个继承了IA的类中新创建了一个方法TestB(),希望那个函数的返回值中能够多一个方法TestB(),被aa.TestB()调用,怎么在不影响其他类的前提下实现?不知道这样说清楚了没~小弟初学~望指点~谢!
      

  3.   

    public   interface   IA  
    {   void   TestA();   } 
    public   interface   IB 
    {   void   TestB();   }
     
    class   aa():IB
    {
      public   void   TestA()   {   Console.WriteLine("Test   A");   }
      public   void   TestB()   {Console.WriteLine("Test   B");   }  
    }
    class   Program   {  
    static   void   Main(string[]   args)  
    {
      IB   aa   =new   class   aa();  
    aa.TestA();
    aa.TestB();   //如何实现呢?
    }
      

  4.   

    你说得再清楚都没用又不允许加方法, 也不允许写多个interface, 还不允许修改aa的继承关系, 那你还能做什么?
      

  5.   

    interface a
        {
            void aa();
        }
        interface b : a
        {
            void bb();
        }
        class c : a, b
        {
            public void aa() { }
            public void bb() { }
        }
        class Program
        {
            static void Main(string[] args)
            {
                c c1 = new c();
                b b1 = c1 as b;
                b1.aa();
            }
        }