zoukankan      html  css  js  c++  java
  • C#中方法、类等的默认访问修饰符~

    [csharp] view plain copy
     
     print?
    1. C# 方法默认访问级别 : private  
    2. C# 类默认访问级别 : internal  



     

     

    1.命名空间下的元素的默认访问修饰符

    public : 同一程序集的其他任何代码或引用该程序集的其他程序集都可以访问该类型或成员。

    internal : 同一程序集中的任何代码都可以访问该类型或成员,但其他程序集不可以访问。 

     

    2.各类型中的成员的默认访问修饰符

    剩下的修饰符主要是正对继承这个语言特性的,拥有继承的类型有两个类(class)和接口(interface)。public,internal同样可以用于类型成员。

    private : 同一类和结构的代码可以访问该类型和成员。

    protected : 同一类和派生(继承特性)类中的代码可以访问该类型和成员。

    protected internal :  同一程序集中的任何代码或其他程序集中的任何派生类都可以访问该类型或成员。

     

    MSDN提示 :

    1.) 派生类的可访问性不能高于其基类型。换句话说,不能有从内部类 A 派生的公共类 B。如果允许这种情况,将会使 A 成为公共类,因为 A 的所有受保护的成员或内部成员都可以从派生类访问。 

    2.) 成员的可访问性决不能高于其包含类型的可访问性。 

    3.) 可以使用五种访问类型中的任何一种来声明类成员(包括嵌套的类和结构)。 

     

    接口(interface)

    接口成员访问修饰符默认为public,且不能显示使用访问修饰符。

     

    类(class)

    构造函数默认为public访问修饰符。

    析构函数不能显示使用访问修饰符且默认为private访问修饰符。 

    类的成员默认访问修饰符为private; 

     

    枚举(enum)

    枚举类型成员默认为public访问修饰符,且不能显示使用修饰符。

     

    结构(struct) 

    结构成员默认为private修饰符。 

    结构成员无法声明为protected成员,因为结构不支持继承。 

     

    嵌套类型

    嵌套类型的默认访问修饰符为private。 和类,结构的成员默认访问类型一致。

  • 相关阅读:
    iOS 在Host App 与 App Extension 之间发送通知
    将博客搬至CSDN
    ios7 UITableView 分割线在 使用selectedBackgroundView 选中时有些不显示
    UITableViewCell 分割线如何满屏
    CocoaPods管理的项目移植到别人电脑后找不到头文件
    iOS Touch ID 简易开发教程
    iOS内存泄露统计
    iOS开发之Objective-c的AES128加密和解密算法的实现
    iOS中使用RNCryptor对资源文件加密
    iOS持续集成:命令行创建工程
  • 原文地址:https://www.cnblogs.com/net-sky/p/10345566.html
Copyright © 2011-2022 走看看