溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

C#中訪問(wèn)修飾符作用范圍實(shí)例有哪些

發(fā)布時(shí)間:2020-10-15 19:21:56 來(lái)源:億速云 閱讀:145 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹了C#中訪問(wèn)修飾符作用范圍實(shí)例有哪些,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

 在C#語(yǔ)言中,共有五種訪問(wèn)修飾符:public、private、protected、internal、protected internal。作用范圍如下表:
訪問(wèn)修飾符 說(shuō)明
public 公有訪問(wèn)。不受任何限制。
private 私有訪問(wèn)。只限于本類(lèi)成員訪問(wèn),子類(lèi),實(shí)例都不能訪問(wèn)。
protected 保護(hù)訪問(wèn)。只限于本類(lèi)和子類(lèi)訪問(wèn),實(shí)例不能訪問(wèn)。
internal 內(nèi)部訪問(wèn)。只限于本項(xiàng)目?jī)?nèi)訪問(wèn),其他不能訪問(wèn)。
protected internal 內(nèi)部保護(hù)訪問(wèn)。只限于本項(xiàng)目或是子類(lèi)訪問(wèn),其他不能訪問(wèn)
C#成員類(lèi)型的可修飾及默認(rèn)修飾符如下表:
成員類(lèi)型 默認(rèn)修飾符 可被修飾符
enum public none
class private public、protected、internal、private、
protected internal
interface public none
struct private public、internal、private
下面我就結(jié)合實(shí)例,講一下public、private、protected、internal和protected internal的作用范圍。
如下代碼:

[csharp] view plain copy
 
using System;  
using System.Collections.Generic;  
using System.Text;  
  
namespace AccessModifier  
{  
    public class AccessModifierClass  
    {  
        public string GetPublicString()  
         {  
            return "Public String";  
         }  
  
        protected string GetProtectedString()  
         {  
            return "Protected String";  
         }  
  
         private string GetPrivateString()  
         {  
            return "Private String";  
         }  
  
         internal string GetInternalString()  
         {  
            return "Internal String";  
         }  
  
        protected internal string GetProtectedInternalString()  
         {  
            return "Protected Internal String";  
         }  
  
        void AvailableAccessModifier()  
        {  
         this.GetPublicString();  
         this.GetPrivateString();  
         this.GetInternalString();  
         this.GetProtectedInternalString();  
         this.GetProtectedString();  
        }  
     }  
  
  
    public class TestAccessModifierClass1  
     {  
         void AvailableAccessModifier()  
         {  
             AccessModifierClass item = new AccessModifierClass();  
             item.GetPublicString();  
             item.GetInternalString();  
             item.GetProtectedInternalString();  
         }  
     }  
  
     public class TestAccessModifierClass2 : AccessModifierClass  
     {  
         void AvailableAccessModifier()  
         {  
             AccessModifierClass item = new AccessModifierClass();  
             item.GetPublicString();  
             item.GetInternalString();  
             item.GetProtectedInternalString();  
             base.GetProtectedString();  
         }  
     }  
 }


AccessModifierClass 是我們的訪問(wèn)修飾符類(lèi),里面有五種訪問(wèn)修飾符方法,可見(jiàn)在 AccessModifierClass 類(lèi)里面的 AvailableAccessModifier() 方法可以訪問(wèn)所有的方法。
在 TestAccessModifierClass1 類(lèi)中的 AvailableAccessModifier() 方法只能訪問(wèn) public、Internal 和 Protected Internal 方法。

TestAccessModifierClass2 類(lèi)繼承自 AccessModifierClass 類(lèi),所以它的 AvailableAccessModifier() 方法可以訪問(wèn) public,internal,protected和protected internal 方法。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享C#中訪問(wèn)修飾符作用范圍實(shí)例有哪些內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問(wèn)題就找億速云,詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI