Internal關(guān)鍵字

同一程序集的文件中可訪問,程序集是經(jīng)由編譯器編譯得到的,供CLR進(jìn)一步編譯執(zhí)行的那個(gè)中間產(chǎn)物,在WINDOWS系統(tǒng)中,它一般表現(xiàn)為·dll或者是·exe的格式。

內(nèi)部訪問通常用于基于組件的開發(fā),因?yàn)樗墒挂唤M組件以私有方式進(jìn)行協(xié)作,而不必向應(yīng)用程序代碼的其余部分公開。

如果被調(diào)用的程序集, 在代碼中使用了InternalsVisibleToAttribute來標(biāo)示一個(gè)或多個(gè)友元程序集, 那么這些被標(biāo)為友元的程序集就可以訪問被調(diào)用程序集的internal方法。

// This file is for Assembly A.

using System.Runtime.CompilerServices;
using System;

[assembly: InternalsVisibleTo("AssemblyB")]

// The class is internal by default.
class FriendClass
{
    public void Test()
    {
        Console.WriteLine("Sample Class");
    }
}

// Public class that has an internal method.
public class ClassWithFriendMethod
{
    internal void Test()
    {
        Console.WriteLine("Sample Method");
    }

}




如果我們要調(diào)用的是第三方人寫的代碼里的internal的方法, 需要使用反射 (reflection)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容