無障礙層級(C# 參考)

使用存取修飾符 public、 protected、 internal,或 private 指定以下為成員宣告的無障礙等級之一。

  • public:存取沒有限制。
  • protected:存取限於包含類別或衍生自包含類別的型別。
  • internal:存取限於目前組件。
  • protected internal:存取限於目前組件或衍生自包含類別的型別。
  • private:存取限於包含型別。
  • private protected:存取限於目前組件內包含類別或衍生自包含類別的型別。

C# 語言參考資料記錄了 C# 語言最新版本。 同時也包含即將推出語言版本公開預覽功能的初步文件。

文件中標示了語言最近三個版本或目前公開預覽版中首次引入的任何功能。

小提示

欲查詢某功能何時首次在 C# 中引入,請參閱 C# 語言版本歷史的條目。

頂層(非巢狀)類型可以使用 檔案 修改器。 file修飾符限制存取同一原始碼檔案中的程式碼。 你不能把這個修飾符和任何進入修飾符合併 file 。

成員或類型只使用一個存取修正值,除非你使用 protected internal 了 or private protected 組合。

不要在命名空間上使用存取修飾符。 命名空間沒有存取限制。

視發生成員宣告的內容而定,只允許特定宣告的存取範圍。 如果你在成員聲明中沒有指定存取修飾符,則會使用預設的無障礙性。

頂層型別不會嵌套在其他型態中,只能有 internal 或 public 可達性。 這些類型的預設輔助功能是 internal。

巢狀類型,屬於其他類型的成員,可以宣告輔助功能,如下表所示。

的成員 默認成員輔助功能 允許的已宣告成員存取範圍
enum public 沒有
class private public

protected

internal

private

protected internal

private protected
interface public public

protected

internal

private*

protected internal

private protected
struct private public

internal

private

interface* 具有private輔助功能的成員必須具有預設實作。

備註

如果你用關鍵字修飾符修改類別或結構 record ,也要使用相同的存取修飾符。 此外,使用 record 修飾符後,預設的成員可及性仍然是 private 類別和結構體的。

巢狀型別的可及性取決於其 可達性領域,而該領域由成員的宣告可達性與直接包含型別的可達性領域決定。 然而,巢狀型態的可達性域不能超過包含型態的範圍。

C# 語言規格

如需詳細資訊,請參閱<C# 語言規格>。 語言規格是 C# 語法和使用方式的最終來源。

另請參閱