公共类由于其保护级别而无法访问

ao

我有以下课程:

namespace Bla.Bla 
{
    public abstract class ClassA 
    {
        public virtual void Setup(string thing) 
        {
        }

        public abstract bool IsThingValid();

        public abstract void ReadThings();

        public virtual void MatchThings() { }

        public virtual void SaveThings() { }

        public void Run(string thing) 
        {
            Setup(thing);

            if (!IsThingValid()) 
            {

            }

            ReadThings();
            MatchThings();
            SaveThings();
        }
    }
}

namespace Bla.Bla 
{
    public class ClassB : ClassA 
    {
        ClassB() { } 

        public override void IsThingValid() 
        {
            throw new NotImplementedException();
        }

        public override void ReadThings() 
        {
            throw new NotImplementedException();
        }
    }
}

现在,我尝试执行以下操作:

public class ClassC 
{
    public void Main() 
    {
        var thing = new ClassB();
        ClassB.Run("thing");
    }
}

它返回以下错误:ClassB由于其保护级别而无法访问。

但是它们都是公开的。

谢尔盖·卡里尼琴科(Sergey Kalinichenko)

此错误是由ClassB构造函数(而不是ClassB其本身)的保护级别导致的由于构造函数的名称与类*的名称相同,因此错误可能会被错误地解释。由于您未指定构造函数的保护级别,因此internal默认情况下假定为保护级别声明构造函数public将解决此问题:

public ClassB() { } 

*还可以说构造函数没有名称,只有一个类型;这不会改变问题的实质。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

成员变量由于其保护级别而无法访问

由于其保护级别而无法访问该结构

由于其保护级别而无法访问

“ WebHost”由于其保护级别而无法访问

'ModbusSerialMaster' 由于其保护级别而无法访问

方法由于其保护级别而无法访问

会员由于其保护级别而无法访问

由于保护级别c#类而无法访问

由于保护级别而无法访问

为什么我仍然收到“由于其保护级别而无法访问”错误?

关于局部类(...由于其保护级别而无法访问)

C#AWS SQS客户端由于其保护级别而无法访问

c# 资源中的 SmtpClient 由于其保护级别而无法访问

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

由于其保护级别,无法访问方法XXX

由于其保护级别,无法访问Vector.Value

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

由于其保护级别,无法访问UserControl元素

由于其保护级别,无法访问“设置”

由于其保护级别,无法访问“ xx”

由于其保护级别,无法访问frmMain

“xxx'由于其保护级别而无法访问”一切都是公开的(我认为)

Numeric Extensions.Clamp(double,double,double)'由于在xamarin表单类中的保护级别而无法访问

为什么由于保护级别而无法访问错误“ ObjectPoolingManager.Instance”?

S3和.net Amazon SDK-由于保护级别而无法访问GetObject

尝试在两种形式之间移动文本-“由于保护级别而无法访问”

CS0122 Form1.AvgWaiting由于其保护级别和C#Windows Form中的甘特图而无法访问

未序列化的结构列表的列表。由于其保护级别,因此无法访问System.RuntimeType。只能处理公共类型