C# 錯誤:由於其保護級別而無法訪問

Haider Ali 2023年10月12日
  1. 在 C# 中由於其保護級別而無法訪問
  2. 錯誤的解決方案
C# 錯誤:由於其保護級別而無法訪問

本指南將介紹新程式設計師在 C# 中經常遇到的錯誤,即由於其保護級別而無法訪問。原因是新程式設計師對物件導向程式設計的許多概念並不熟悉。

這需要大量的時間和練習。如果你遇到此錯誤,讓我們為你提供解決方案。

在 C# 中由於其保護級別而無法訪問

在找到這個特定錯誤的解決方案之前,我們需要了解 C# 或任何其他物件導向程式語言中稱為訪問修飾符的概念。

那麼,什麼是訪問修飾符?繼續閱讀。

什麼是 C# 中的訪問修飾符

在 C# 中,訪問修飾符定義類的可訪問性範圍,包括其方法和欄位成員。在 C# 中,有六種不同的型別。

例如,如果我們給一個類 public 訪問修飾符,程式中的每個人都可以訪問它。誰可以參加公共課程沒有限制。

讓我們看看 C# 中所有可用的訪問修飾符。

  1. Public - 訪問公共成員不受限制。
  2. Private - 只有類定義是可訪問的。如果在 C# 中未指定訪問修飾符,則這是預設訪問修飾符。
  3. Protected - Protected 類只能在類宣告和繼承類中訪問。
  4. Internal - 只有當前專案程式集可以訪問。
  5. Protected Internal - 訪問僅限於從封閉類繼承的當前程式集和型別。當前專案和派生類的所有成員都可以訪問這些變數。
  6. Private Protected - 訪問僅限於封閉類或從當前程式集中的包含類繼承的型別。

錯誤的解決方案

假設你沒有向一個類、它的成員或它的方法新增任何訪問修飾符。在這種情況下,internal 訪問修飾符將應用於類,而 private 訪問修飾符將預設應用於其方法和欄位,這可能就是你收到此錯誤的原因。

因為你沒有為變數分配任何訪問修飾符,所以它們被設定為私有作為它們的預設狀態。看看下面的程式碼。

namespace MyCsharp {
  class csharprogram {
    void method1() {}
    class csharpin {}
  }
}

你可能已經像上面那樣編寫了程式碼。你必須為其分配訪問修飾符。

以下程式碼中給出了向其新增訪問修飾符的方式。

namespace MyCsharp {
  public class csharprogram {
    public void method1() {}
    public class csharpin {}
  }
}

public 訪問修飾符分配給你的類、變數和方法將允許你在包中的任何地方訪問它們。你可以在任何地方訪問它們。

作者: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn