C#:友元程序集
C#中的訪問修飾符Internal可以說是介于Public和Private之間,可以使類型在同程序集中可以被互相訪問。但有時會有這樣的需求,我們希望一個程序集中的類型可以被外部的某些程序集可以訪問,這時當然不能設置成Public,否則可以被所有的外部程序集訪問。要達到上述要求我們可以使用友元程序集。 下面用一個簡單的例子來介紹下友元程序集。 1 在一個解決方案中創建兩個類庫項目TestA和TestB,分別在兩個類庫項目中創建類A和類B。 2 在項目TestA中添加對項目TestB的引用。 3 將項目TestB中的類B訪問級別設置為Internal。namespace TestB { internal class B { } } 4 現在在TestA項目的類A中是肯定不能訪問到類B的,如果想讓類A可以訪問類B,必須將項目TestA的程序集添加為項目TestB程序集的友元程序集。添加友元程序集我們要使用InternalIsVisibleTo特性,使用該特性需要添加命名空間using System.Runtime.CompilerServices。 5 在B類中使用InternalIsVisibleTo特性將程序集TestA添加為友元程序集。using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("TestA")] namespace TestB { internal class B { } } 6 InternalIsVisibleTo特性也可以添加到AssemblyInfo.cs中。 7 現在在項目TestA的類A中就可以訪問TestB項目的類B了。
轉載于:https://blog.51cto.com/oec2003/1050316
總結
- 上一篇: 杨建:网站加速--内容简介
- 下一篇: C# WinForm只允许运行一个窗体实