interface  IChinese<T>  
{  
  void  Speak();  
}  
 
interface  IJapanese<T>  
{  
  void  Speak();  
}  
 
interface  IAsia<L,R>:IChinese<L>,IJapanese<R>  
{  
  new  void  Speak();  
}  
 
public  class  Language<M,L>:IAsia<M,L>  
{  
  void  IChinese<M>.Speak()  
  {  
  }  
  void  IJapanese<L>.Speak()  
  {  
  }  
  void  IAsia<M,L>.Speak()  
  {  
  }  
}  
 
class  MyClass  
{  
  static  void  Main()  
  {  
           Language<int,string>  language  =  new  Language<int,string>(); 
          //想问一下,如何调用Language类中的IChinese<M>的方法,因为我使用:  
         //language.IChinese<int>.Speak();或使用language.Speak();都无法调用,谢谢。             
  }  
}

解决方案 »

  1.   

    IAsia<int, string> iAsia = new Language<int, string>();
                iAsia.Speak();
      

  2.   

    这个是调节用Language类中的IChinese<M>的方法
    IChinese<int> chinese = new Language<int, int>();
                chinese.Speak();
      

  3.   

    xiehuanxie说的好啊,能不能解释一下原因呢,谢谢。
      

  4.   

    一样可以:IChinese< int > language = new Language<int, string>() as IChinese<int>;
    language.Speak();楼主试试这样写。