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