在C#中internal、protected internal关键字是什么意思?


internal:就是程序集。

那么什么是程序集呢?就是“项目”也就是工程里中的csproj

比如:我有个解决方案,这个方案中有2个项目,1个是控制台程序,1个是webapi项目,那么我这个解决方案中就包括这2个程序集。

接着,我在WebApplication1这个程序集中定义个类:

namespace WebApplication1.Common
{
    public class CA
    {
        private string caPrivateName = "privateName";
        internal string caInternalName = "lijie";
        protected internal string caProtectedInternalName = "LiJie";
        public string caPublicName = "lj";
        public CA()
        {

        }
        public string GetName()
        {
            return caPrivateName;
        }
    }
}

然后,我在控制台程序中调用这个WebApplication1的东西:

首先要加入“引用”:

然后开始调用:

可以看到public的可以访问,internal 和 protected internal 不能访问。

再看:我在控制台程序中新增个类,继承 WebApplication1.Common.CA 类:

protected internal:就是个并集,同一程序集的可以访问,非同一程序集的子类也可以访问。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM