该使用什么修饰符?试了几个貌似都不行呢!

解决方案 »

  1.   

    参见
    http://msdn.microsoft.com/zh-cn/library/ms173121.aspx如果都不行,就没有这样的修饰符了
      

  2.   

    所有类型和类型成员都具有可访问性级别,用来控制是否可以在您程序集的其他代码中或其他程序集中使用它们。 您在声明类型或成员时使用以下访问修饰符之一来指定其可访问性: public 
    同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员。 private 
    只有同一类或结构中的代码可以访问该类型或成员。 protected 
    只有同一类或结构或者派生类中的代码可以访问该类型或成员。 internal 
    同一程序集中的任何代码都可以访问该类型或成员,但其他程序集中的代码不可以。 protected internal 
    同一程序集中的任何代码或其他程序集中的任何派生类都可以访问该类型或成员。
      

  3.   

    public可以被任意存取; 
    protected只可以被本类和其继承子类存取; 
    internal只可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”。 
    protected internal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取。 
    private只可以被本类所存取。 
    如果不是嵌套的类,命名空间或编译单元内的类只有public和internal两种修饰。 new修饰符只能用于嵌套的类,表示对继承父类同名类型的隐藏。 abstract用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化
      

  4.   

    protected 是表示方法或成员,在自己的内部,或者派生类的内部可见。
    还有一个protected internal:
    internal表示同一个程序集内可见。
    protected internal表示在同一程序集内访问不受限制,在其他程序集中,必须是由该类的派生内,才可以访问。