interface IBase
{
 vlid f(int i);
}
interface ILeft:Ibase
{
new void F(int i);
}
interface Iright :Ibase
{void G();
}
interface IDerived:ILeft,IRight{}
class a
{
void Test(IDerived){
d.F(1);
((IBase)d).F(1);
((ILeft)d).F(1);
((IRight)d.F(1);
}
}

解决方案 »

  1.   

    差不多
    class a : ILeft,IRight
    {
       ...
    }
      

  2.   

    using System;namespace interface_test2
    {
    interface face1
    {
    void read();
    void write();
    }
    interface face2
    {
    void read();
    }
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    class Class1:face1,face2
    {
    public void read()
    {
    Console.WriteLine("it is read");
    }
    void face2.read()
    {
    Console.WriteLine("it is face2.read()");
    }
    public void write()
    {
    Console.WriteLine("it is write");
    }
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
    //
    // TODO: 在此处添加代码以启动应用程序
    //
    Class1 test=new Class1();
    test.read();
    test.write();
    face2 facetest=test as face2;
    if(facetest!=null)
    facetest.read();
    }
    }
    }