基类:
abstract class MessageHelper
{
......
}子类:
class MassTexting : MessageHelper
{
......
}现在在外部访问的时候,我希望实例化的时候,只能看到子类(MassTexting ),而看不到基类(MessageHelper)如果给子类 加上public,那么提示可访问性不一致,如果给基类也加上public,那么实例化的时候就能看到基类了,
请问大家该怎么办

解决方案 »

  1.   

    abstract就行了,看到就看到了,反正不能实例化
      

  2.   


    你的意思是都加上public?
      

  3.   


    不能够,提示:
    命名空间中定义的元素无法显式声明为 private、protected 或 protected internal
      

  4.   

    abstract 不能实例化
    不需要
      

  5.   

    将基类改为接口,然后子类显式实现这个接口,这样外部程序就看不到了,当然别人还是可以将通过强制转换将子类转换成接口来访问接口成员了,所以最好将接口的修饰符设为internal了,这样别人就不能强制转换了。
    其实你里就出现了“白马非马“的情况,违背了里氏替换原则,所以不应该用继承,应该使用聚合复用.
      

  6.   

    abstract 不能被实例化,看就看到呗
      

  7.   

    类的访问权限默认是internal 抽象类 不能势力话