C#表单需要调用父表单中定义的方法
我有一个表单(C#表单需要调用父表单中定义的方法,c#,.net,oop,C#,.net,Oop,我有一个表单(EmployeeForm),它继承自部分类表单(MainForm)。在MainForm中,我有一个方法(SaveSomething)要调用 我该怎么做 using SomeLib; namespace FooEmployee { public partial class EmployeeForm: MainForm { private void dgv_DoubleClick(object sender, EventArgs e)
EmployeeForm
),它继承自部分类表单(MainForm
)。在MainForm
中,我有一个方法(SaveSomething
)要调用
我该怎么做
using SomeLib;
namespace FooEmployee
{
public partial class EmployeeForm: MainForm
{
private void dgv_DoubleClick(object sender, EventArgs e)
{
SaveSomething();
}
}
}
namespace SomeLib
{
public partial class MainForm: Form
{
private bool SaveSomething()
{
}
}
}
在方法上使用
protected
作为访问修饰符,而不是private
private
仅表示包含该方法的类<另一方面,code>protected表示当前类及其继承的所有类
您的代码如下所示:
public partial class MainForm: Form
{
protected bool SaveSomething()
{
// ...
}
}
这被称为,链接到一篇MSDN文章,该文章介绍了C#(、、
和受保护的内部
)中所有可用的访问修饰符。这对您有帮助吗@令人敬畏的程序员:虽然我愿意打赌有一个重复,但它看起来不符合这个问题,因为没有提到一个表单从另一个表单继承。在我看来,这个问题的质量也很差。鲁迪,我理解受保护的访问修饰符,并且我已经实现了它,但是我在引用“SaveSomething()”方法时遇到了一个错误。错误:“SomeLib.MainForm”不包含“SaveSomething”的定义@JimKiely我刚刚测试了与上面完全相同的代码,修改了protected
,效果很好?“MainForm.SaveSomething();”-这就是我在双击事件方法中调用该方法的方式。有什么想法吗?是的,别那么做。使用SaveSomething()代码>,与您的代码完全相同。您尝试在类上使用名为SaveSomething
的静态方法,而不是类的实例SaveSomething
在this
中可用,因此您根本不需要对其进行量化。