C# 窗体需要调用父窗体中定义的方法

标签 c# .net oop

我有一个从部分类表单 (MainForm) 继承的表单 (EmployeeForm)。在 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 表示仅适用于包含该方法的类。另一方面,protected 表示当前类和所有继承自它的类。

您的代码将如下所示:

public partial class MainForm: Form
{
    protected bool SaveSomething()
    {
        // ...
    }
}

这称为 Access Modifier ,链接指向一篇关于 C# 中所有可用访问修饰符的 MSDN 文章(publicprivateprotectedinternalprotected internal)。

关于C# 窗体需要调用父窗体中定义的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15689337/

相关文章:

.net - 如何学习ILGenerator编程?

python - 方法输出是否需要绑定(bind)到 "self"才能被其他方法使用?

.net - 我如何找到挂起的终结器队列的原因?

asp.net - .net core 3.1 通过 URL 进行本地化/文化 - localhost/en/area?/controller/action

actionscript-3 - 如何强制派生类在 AS3 中实现方法?

php - 让所有用户使用 OOP 的正确方法

c# - 将 GuidAttribute 添加到类中有什么值(value)?

c# - .NET Core 2.0 中的 HtmlHelper,其中注入(inject)了 appsettings

c# - 将 JsonValue 转换为域对象

c# - 使用 Entity Framework 从数据库加载图像到 gridview