• 在C#中internal关键字是什么意思?和protected internal区别


    我来补充一下,对于一些大型的项目,通常由很多个DLL文件组成,引用了这些DLL,就能访问DLL里面的类和类里面的方法。
    比如,你写了一个记录日志的DLL,任何项目只要引用此DLL就能实现记录日志的功能,这个DLL文件的程序就是一个程序集
    如果你记录日志的程序集是这么定义的
    namespace LogerHelper
    {
    internal class aa
    {
    public void bb()
    {
    return "";
    }
    }

    public class Write
    {
    public void WriteIn(string content)
    {
    class x = new aa();
    x.bb();
    }
    }
    }

    当另一个项目引用了此DLL
    它可以这么访问
    LogerHelper.Write x = new LogerHelper.Write();
    x.WriteIn("");

    但不可以这么访问
    LogerHelper.aa x = new LogerHelper.aa();
    x.bb();

    这就叫,只能在程序集中访问



    protected internal是protected or internal的意思。所以应该是:可由任何嵌套类型、任何派生类型(不管什么程序集)或定义程序集(成员所在的程序集)中的任何方法访问。

    所谓同一程序集,最简单的理解就是代码处于编译后的同一个dll或exe中,跟project, namespace没有直接关系。
  • 相关阅读:
    CSS动画小结
    CSS效果常见问题
    CSS效果小结
    CSS(非布局样式)
    CSS(选择器)
    SkipList
    实现一个简易版RPC
    实现一个简易版的SpringMvc框架
    关于缓存击穿
    java多线程系列 目录
  • 原文地址:https://www.cnblogs.com/wanshutao/p/3611923.html
Copyright © 2020-2023  润新知