C#接口中的成员为什么不能有修饰符呢?如果可以,那修饰符应该是什么呢?

解决方案 »

  1.   

    接口是对外的,其成员应该是public访问属性
      

  2.   

    internal和public都在VS编译器中不通过啊,为什么呢?我试了的。
      

  3.   

    接口可以显式实现,可以隐式实现。但无论哪一个实现都需要在类的外面可以防问的到。当然不能定义成Private和Protected等了,也就是说接口默认应该就是Public,写不写Public效果是一样的。但显式实现的时候用强制转换就可以了,这时是没有Public的修饰的。如:interface IA
    {
    }class A:IA
    {
    }IA ia=A as IA;
    if (ia!=null)
    {
       ia.//IA的员调用。当然不能是Private等了。
    }
      

  4.   

    接口默认是public,c#可能强制要求你不能写了,写也没有意义。
      

  5.   

    从字面上来说,接口是实现与其他窗口相连的一个适配器。如果把他定义成非public类型的那就失去了接口的意义。
    而且接口内声明的成员变量类型都是public,不需要再给其加修饰符。
      

  6.   

    接口就是抽象的一种.
    接口就是要求别人完成某些目的的契约.我要你做什么做什么.
    如果不是public.不让实现此接口的看到.那这个契约有什么用呢?
    就象一个喇叭的作用,是公布消息的。现在消息什么的都有。但是喇叭不会发声,别人听不到.要喇叭做什么.
    还可以比做,一个主板的设计图纸,intel公司把设计图纸划出来了。杰波,技嘉照这个做,就可以作成845,945..的主板.
    如果你把一个设计图纸隐藏起来.杰波,技嘉什么都做不出来。