如题。

解决方案 »

  1.   

    接口的实现分显示和隐式两种。
    显示实现的接口,接口的成员都要声明成公用的(public)
    而隐式实现的接口,接口的成员是接口类型加成员名称声明的。这样的声明可以通过强制转换进行和接品的转换。
      

  2.   

    如下的代码就是两个实现的示例://接口定义
    interface IA
    {
    void a();
    }
    //显示实现的接口类
    class a : IA
    { void IA.a()
    {
    throw new Exception("The method or operation is not implemented.");
    }
    }
    //隐式实现的接口类
    class b : IA
    { void IA.a()
    {
    throw new Exception("The method or operation is not implemented.");
    }
    }
      

  3.   

    //隐式实现的接口类应该这样把
    class b : IA
    { void a()
    {
    throw new Exception("The method or operation is not implemented.");
    }
    }
      

  4.   

    上面的代码错了,不好意思,是这样的:/// <summary>
    /// 接口的定义
    /// </summary>
    public interface IA
    {
    void a();
    }
    /// <summary>
    /// 显式的实现
    /// </summary>
    public class A : IA
    {
    public void a()
    {
    throw new Exception("The method or operation is not implemented.");
    }
    }
    /// <summary>
    /// 隐式的实现
    /// </summary>
    public class B : IA
    {
    void IA.a()
    {
    throw new Exception("The method or operation is not implemented.");
    }
    }
      

  5.   

    //接口定义
    interface IA
    {
    void a();
    }
    //显示实现的接口类
    class a : IA
    { void a()
    {
    throw new Exception("The method or operation is not implemented.");
    }
    }
    //隐式实现的接口类
    class b : IA
    { void IA.a()
    {
    throw new Exception("The method or operation is not implemented.");
    }
    }
    是这样么
      

  6.   

    楼主说的不准确吧
    http://msdn2.microsoft.com/en-us/library/ms173157(VS.80).aspx
      

  7.   

    using System ;
    interface ICanvas 
    {
       void Paint();
    }
    public class EditBox: ICanvas
    {
       public void Paint()//隐式-----1
       {
          Console.WriteLine("Paint method is called!");
       }
       void ICanvas.Paint()//显示-----2
       {
          Console.WriteLine("ICanvas.Paint method is called!");
       }
    }
    class Test 
    {
       static void Main() 
       {
          EditBox editbox = new EditBox();       editbox.Paint();//调用方法1
          ((ICanvas)editbox).Paint();//显示实现接口需要类型转换,调用方法2
       }
    }
      

  8.   

    /// <summary>
    /// 接口的定义
    /// </summary>
    public interface IA
    {
    void a();
    }
    /// <summary>
    /// 显式的实现
    /// </summary>
    public class A : IA
    {
    public void a()
    {
    throw new Exception("The method or operation is not implemented.");
    }
    }
    /// <summary>
    /// 隐式的实现
    /// </summary>
    public class B : IA
    {
    void IA.a()
    {
    throw new Exception("The method or operation is not implemented.");
    }
    }
    写反了……
      

  9.   

    我还告诉你,你要是第一次这样,我肯定不至于这样说。至于什么拿出证据来反驳你,关我什么事?隐式显式又不是我们说了算,MSDN摆在那里谁都会查,用得着辩么?这种问题,有失身份……而且劳驾您也尊重一下别人的劳动成果,这种问题根本不用我来给你说。去感谢上面的那个三角吧。
      

  10.   

    using System ;
    interface ICanvas 
    {
       void Paint();
    }
    public class EditBox: ICanvas
    {
       public void Paint()//隐式-----1
       {
          Console.WriteLine("Paint method is called!");
       }
       void ICanvas.Paint()//显示-----2
       {
          Console.WriteLine("ICanvas.Paint method is called!");
       }
    }
    ====
    比较下……
      

  11.   

    正解不正解是回复人的判断,如果一个人说错了还有人说正解,那么明显是瞎说。如果认真对待问题,错了指出来,这才是正确的。就是圣人不也会出错吗?我是星星怎么了,难道CSDN给我发钱啊。我不能出错啊。说白了我也是来这里学习的。
      

  12.   

    楼主,我是hbxtlhx(平民百姓-自已动手,丰衣足食)
    对不起了,我上面正好把显示及隐式实现说反了,真的很抱歉。在这里占用了楼主的宝地说了太多的话了,真是不好意思。我想楼主的问题可能也更清楚了。我收了:)
      

  13.   

    好了好了
    LZ以后这样的问题自己查下MSDN就可以了……
    别问了!
      

  14.   

    /// <summary>
    /// 接口的定义
    /// </summary>
    public interface IA
    {
    void a();
    }
    /// <summary>
    /// 显式的实现  //隐式的实现 
    /// </summary>
    public class A : IA
    {
    public void a()
    {
    throw new Exception("The method or operation is not implemented.");
    }
    }
    /// <summary>
    /// 隐式的实现  //显示的实现
    /// </summary>
    public class B : IA
    {
    void IA.a()
    {
    throw new Exception("The method or operation is not implemented.");
    }
    }
    这个写反了才是关键……
      

  15.   

    这个问题是我疏忽了,好在有人指出了。非常的感谢。不过因为我第一个的代码中类名和方法相同了,所以生成代码的时候把显式的和隐式的搞成一样的了。发了以后发现不对就改了类的名称,但是显式和隐式我并没有更正,这是我不对的地方。在CSDN是一个学习的地方。我相信总有人比我更能发现问题。
    所以我非常的希望这里能是一个和气的地方。因为大家都是“学生”嘛。
      

  16.   

    怎么楼上 斗起嘴 了哦,自家人不说两家话 ....我自己也是经常的出错,通常我会在回复之前,重新审视自己的答案,并在“发出回复”之后,再次审视,并及时纠正,你会发现,我的很多回复之后,斗会再跟一个帖,然后就是 I'm sorry, >>>>
    我经常生怕误导别人星抗得多,给人的直观印象是,阅历多,给出的参考答案应该更“权威”,
    可是,星再多,也是人扛着啊,
    回复出错是难免的,错了不要紧,及时纠正就是,很多时候也是能力所不能及,
    只要我们不去误导其他人Good Luck!
      

  17.   

    Jinglecat(晓风残月 >> 问题需简洁,错误要详细,需求得明确)同志啊:)我觉得也是,我错了就是我错了。我也是学生嘛。
      

  18.   

    让我想起了和我以前同事吵架来着,其实真的没有必要,就是几句话说不到一起,彼此形成了成见,就越来越矛盾,越矛盾越吵,反而偏离了主题太远太远。星星多——不代表能力的提高,只是帮助的人多了。
    责任确实增大了,但是不能说是为了分而故意“误导”谁,相信大家也都不会这么做的,也没有谁敢保证自己说了就一定对的~~Ivony(授人以鱼不如授人以渔,上海谋生) 
    hbxtlhx(平民百姓-自已动手,丰衣足食)
    哪一个帐户不是忽悠了若干板块——让多少人得到了帮助的老家伙了??
    要我说,一人踢屁股一脚,呵呵~~——有本事来烟台,咱们喝扎啤比高低才是王道~~
      

  19.   

    using System;interface IA
    {
    void Paint();
    }
    interface IB
    {
    void Paint();
    }
    class SomeClass:IA,IB
    {
    void IA.Paint()//顯示接...解决重名问题
    {
    Console.WriteLine("IA.Paint");
    }
    void IB.Paint()
    {
    Console.WriteLine("IB.Paint");
    }
    };public class Test
    {
    public static void Main()
    {
    IA a = new SomeClass();
    a.Paint();
    IB b = new SomeClass();
    b.Paint();
    Console.ReadLine();
    }
    };
      

  20.   

    to hbxtlhx(平民百姓-自已动手,丰衣足食) :
    不是人家说你, 你第一次发贴发两个一模一样的例子, 第二次又发反, 不是想指责你技术不行, 而是态度不行, 第一次发重复时, 只要发贴前稍微看一眼就会发现, 更甚者是第二次, 既然已经错了一次了, 第二次应该认真检查后再发才是, 你如此粗心, 可以认为是在以灌水的心态在回贴. 楼主问的属于基本问题, 回答错不如不回答, 既然回答别人的问题, 就应该负责任不是, 说自己水平问题, 纯属狡辩, 既然自己都不会, 为什么去回答别人?? 
    而且人家第一次说你, 并不算用词过分, 是你先用"暗算" 这样尖刻的词挑起争吵, 所以鄙人认为, 你应该为自己的态度道歉.
      

  21.   

    TO: Moosdau(Moosdau)多谢指点:)
    非常谢谢
      

  22.   

    to Moosdau 
    其实我觉得你最后的那个回复说得就不对了.因为在hbxtlhx 第一次回复时就是这样说的"接口的实现分显示和隐式两种。 
    显示实现的接口,接口的成员都要声明成公用的(public) 
    而隐式实现的接口,接口的成员是接口类型加成员名称声明的。这样的声明可以通过强制转换进行和接品的转换。"即是说,他一直都认为  "显示实现的接口,接口的成员都要声明成公用的(public)" ,当发现两个是例子是一样的时候,他心中还是认为"显示实现的接口,接口的成员都要声明成公用的(public)" ,所以发第二次例子时,当然就是那样了.
      

  23.   

    平民百姓人品还是不错的!
    应该是平常太牛逼,呗人说一下太突然啦。
    能马上回归平常心态,难得。赞一个。我懒,有问题就爱google哈哈。