HOWTO · Csharp

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

在本指南中,我們將瞭解新程式設計師在 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 訪問修飾符分配給你的類、變數和方法將允許你在包中的任何地方訪問它們。你可以在任何地方訪問它們。