在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