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;
        }
  • 相关阅读:
    访问修饰符的权限。
    字符编码
    3/11 作业
    3/10 作业
    作业 3/9
    流程控制之for循环
    Exception in createBlockOutputStream
    windows上传文件到 linux的hdfs
    win10 配置 hadoop-2.7.2
    hadoop 源码编译
  • 原文地址:https://www.cnblogs.com/xiaoqingshe/p/4300297.html
Copyright © 2011-2022 走看看