zoukankan      html  css  js  c++  java
  • 02-25 类成员的访问权限--internal

    C#中还有一种可访问性,就是由关键字internal所确定的“内部”访问性;

    internal有点像public,外界类也可以直接访问声明为internal的类或类的成员,但这只局限于同一个程序集内部。

    可以简单的将程序集理解为一个独立的.DLL或者.EXE 的文件,一个Dll或Exe文件中可以有多个类,如果某个类可被同一程序集中的类访问,但其他程序集中的类不能访问它,则称此类具有internal访问性。

    例如某个类库项目可以生成一个独立的程序集(假定程序编译后生成.DLL结尾的文件),其中定义了两个类A和B

     1 namespace _20141212jicheng
     2 {
     3    internal class A
     4     {
     5        internal int InternalI = 0;
     6     }
     7    public class B
     8    {
     9        public void f()
    10        {
    11            A a = new A();
    12            a.InternalI = 100;
    13        }
    14    }
    15 }

    由于类B和类A属于同一个程序集,所以,类B中的代码可以创建A的对象,并访问A的声明为internal的成员InternalI.

    在这个程序集之外,外界只能创建声明为public的类B的对象,不能创建声明为internal的类A的对象。

    internal是C#的默认可访问性,这就是说,如果某个类没有任何可访问性关键字在它前面,则它就是internal的。

    比如上面的类A 可以写成:

     class A
        {
           internal int InternalI = 0;
        }

    他完全等同于

     internal class A
        {
           internal int InternalI = 0;
        }

    【注意】在类中,如果省略成员的可访问性关键字,则默认是private的。

    例如:

    class A
        {
            int InternalI = 0;//省略private
        }

    相当于

     internal class A
        {
           private int InternalI = 0;
        }
  • 相关阅读:
    Linux系统编程——特殊进程之僵尸进程
    怎样让你的安卓手机瞬间变Firefox os 畅玩firefox os 应用
    新手学JavaScript都要学什么?
    《解读window核心编程》 之 注冊表
    指针知识梳理10-指向数组的指针
    简易迷宫游戏
    CC++控制台颜色设置类
    实用的开放平台整理
    java 集合交并补
    PHP 标准库 SPL 之数据结构栈(SplStack)简单实践
  • 原文地址:https://www.cnblogs.com/xiaoqingshe/p/4300297.html
Copyright © 2011-2022 走看看