internal:就是程序集。

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

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

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

接着,我在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的东西:

首先要加入“引用”:

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

然后开始调用:

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

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

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

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

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

 

相关文章:

  • 2022-12-23
  • 2022-01-09
  • 2022-12-23
  • 2022-02-28
  • 2021-06-24
  • 2021-06-14
  • 2022-02-22
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-17
  • 2022-12-23
  • 2022-02-06
  • 2021-08-12
相关资源
相似解决方案