C# 错误:由于其保护级别而无法访问

本指南将介绍新程序员在 C# 中经常遇到的错误,即由于其保护级别而无法访问。原因是新程序员对面向对象编程的许多概念并不熟悉。

这需要大量的时间和练习。如果你遇到此错误,让我们为你提供解决方案。

在 C# 中由于其保护级别而无法访问

在找到这个特定错误的解决方案之前,我们需要了解 C# 或任何其他面向对象编程语言中称为访问修饰符的概念。

那么,什么是访问修饰符?继续阅读。

什么是 C# 中的访问修饰符

在 C# 中,访问修饰符定义类的可访问性范围,包括其方法和字段成员。在 C# 中,有六种不同的类型。

例如,如果我们给一个类 public 访问修饰符,程序中的每个人都可以访问它。谁可以参加公共课程没有限制。

让我们看看 C# 中所有可用的访问修饰符。

  1. Public – 访问公共成员不受限制。
  2. Private – 只有类定义是可访问的。如果在 C# 中未指定访问修饰符,则这是默认访问修饰符。
  3. ProtectedProtected 类只能在类声明和继承类中访问。
  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 访问修饰符分配给你的类、变量和方法将允许你在包中的任何地方访问它们。你可以在任何地方访问它们。