1. 程式人生 > >C#之internal訪問修飾符

C#之internal訪問修飾符

internal:中文翻譯為內部的。
那麼我們假如作為C#程式的開發者
當我們建立一個類的時候開始不寫類的訪問修飾符是什麼樣呢
class Test
{
//定義欄位
internal protected int intNumber = 23;
}
其實也許很多人以為是等價於
public class Test
{
//定義欄位
internal protected int intNumber = 23;
}
其實不是
那麼通過什麼方法來測試不等於這個。我們需要站在程式集的角度,什麼是程式集就是你程式設計生成的.exe結尾的應用程式。
假如我在一個程式集A中需要使用程式集B中的一個類Test,我們的類是這樣定義的。
class Test
{
//定義欄位
internal protected int intNumber = 23;
}
跨程式集訪問類,我們首先需要引用需要訪問類對應的程式集,然後就可以像平時那樣:
名詞空間.型別 物件名= new 名詞空間.型別
但是會提示型別不可訪問,因為它具有一定的訪問許可權。
因此我們必須加public.突然就可以訪問了。
因此我們猜預設類給的訪問許可權修飾符其實就是internal,那麼這個修飾符訪問範圍到底是多大,我直接開門見山把,就是針對程式集的,程式集中的任何類都是可以訪問internal修飾的類。
所以internal就是把訪問許可權限制在程式集之內。