gpt4 book ai didi

c# - 为什么我会收到 "inaccessible due to protection level"错误?

转载 作者:行者123 更新时间:2023-11-30 18:51:16 25 4
gpt4 key购买 nike

我收到这个错误:

'CTest.A.A()' is inaccessible due to its protection level.

编译这段代码时:

public class A
{
private A()
{
}
}

public class B : A
{
public void SayHello()
{
Console.WriteLine("Hello");
}
}

谁能解释一下为什么?

最佳答案

因为 A 的默认构造函数是私有(private)的,请尝试将 protected A() {} 作为构造函数。

Class B 自动调用 A 的默认构造函数,如果 B 无法访问或没有默认构造函数(如果您有constructor protected A(string s) {}) B 无法正确实例化。

编译器在B中自动生成如下默认构造函数

public B() : base()
{
}

其中 base() 是对 A 的默认构造函数的实际调用。

关于c# - 为什么我会收到 "inaccessible due to protection level"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5326057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com