c#can'中不一致的可访问性错误;t呼叫基地
我正在创建一个包含大量表单的应用程序,并且从设计器应用所需的视觉样式需要花费大量时间,因此我创建了一个名为Layout的类来应用这些表单 属性更改为其Load()方法上的每个窗体 到目前为止,一切顺利。我的计划是从每个表单继承这个类,然后只调用base.AplicarLayout()方法。但是,我得到了错误: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
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谢谢,这就解决了问题。将其作为答案发布,以便我可以选择它作为解决方案。(您首先回答)非常感谢。请查看默认访问修饰符为“内部”:默认访问修饰符为“内部”: