在.NET CTS 一共定義了6個等級的存取範圍層級,而C# 實現了5個
名稱 | C#中的關鍵字 | 描述 |
---|---|---|
Private | private | 私有型別只限包含型別,也就是在自身類別內存取(限定在類別大括號內存取) |
Family | protected | 包含類別(自身)或衍生於包含類別的型別(被繼承之子類別) |
Assembly | internal | 只限於目前的組件(命名空間) |
Famaily & Assembly | 沒有實現 | 同時滿足Famaily與Assembly層級 |
Famaily or Assembly | protected internal | 存取限於目前的組件或衍生於包含類別的型別 |
Public | public | 無任何限制 |
圖解 圖片來源
補充:
成員 | 預設成員存取範圍 | 允許的成員已宣告存取範圍 |
---|---|---|
enum | public | 無 |
class | private | public
protected internal private protected internal |
interface | public | 無 |
struct | private | public
internal private |