c#can'中不一致的可访问性错误;t呼叫基地

c#can'中不一致的可访问性错误;t呼叫基地,c#,winforms,inheritance,layout,C#,Winforms,Inheritance,Layout,我正在创建一个包含大量表单的应用程序,并且从设计器应用所需的视觉样式需要花费大量时间,因此我创建了一个名为Layout的类来应用这些表单 属性更改为其Load()方法上的每个窗体 到目前为止,一切顺利。我的计划是从每个表单继承这个类,然后只调用base.AplicarLayout()方法。但是,我得到了错误: Inconsistent accessibility: base class 'EntityClub_.Layout' is less accessible than class 'Ent

我正在创建一个包含大量表单的应用程序,并且从设计器应用所需的视觉样式需要花费大量时间,因此我创建了一个名为Layout的类来应用这些表单 属性更改为其Load()方法上的每个窗体

到目前为止,一切顺利。我的计划是从每个表单继承这个类,然后只调用base.AplicarLayout()方法。但是,我得到了错误:

Inconsistent accessibility: base class 'EntityClub_.Layout' is less accessible than class 'EntityClub_.MainAdminWindow' 
在这里你可以看到我是怎么做的

    public partial class MainAdminWindow : Layout
{
    public MainAdminWindow()
    {
        InitializeComponent();
    }

    public void MainAdminWindow_Load(object sender, EventArgs e)
    {
        base.ApplicarLayout(this);//ERROR HERE
    }
}

您知道如何使用继承来实现这一点吗?我不想实例化这个类,也不想用layout方法污染每个窗口的代码

没有显式访问修饰符(并且不是嵌套的)的类被暗示为
内部的

因此:

class Layout : Form
…是内部的,而:

public partial class MainAdminWindow : Layout
…是公开的(因为你已经明确说过了)。将布局的声明更改为此解决了以下问题:

public class Layout : Form

没有显式访问修饰符(并且不是嵌套的)的类被暗示为
内部的

因此:

class Layout : Form
…是内部的,而:

public partial class MainAdminWindow : Layout
…是公开的(因为你已经明确说过了)。将布局的声明更改为此解决了以下问题:

public class Layout : Form

公共类布局
。。。布局也需要是公共的(默认情况下它们是私有的)。猜测:布局是内部的,不是吗?将其更改为public.class是隐含的
private
如果您没有明确声明它
public class您的类
@SimonWhitehead谢谢,这就解决了问题。将其作为答案发布,以便我可以选择它作为解决方案。(你先回答)非常感谢。请查看
公共类布局
。。。布局也需要是公共的(默认情况下它们是私有的)。猜测:布局是内部的,不是吗?将其更改为public.class是隐含的
private
如果您没有明确声明它
public class您的类
@SimonWhitehead谢谢,这就解决了问题。将其作为答案发布,以便我可以选择它作为解决方案。(您首先回答)非常感谢。请查看默认访问修饰符为“内部”:默认访问修饰符为“内部”: