【发布时间】:2016-02-08 12:57:20
【问题描述】:
我有一个基本的 winform 和 2 个派生的 winform。 基本的 winform 包含标签、文本框和保存按钮。 每个派生类都包含额外的标签和文本框。 SaveButton_Click 事件正在调用 Save 方法。我在基类中将 Save 方法定义为抽象,因此我还将基础 winform 定义为抽象。
这是我的代码:
public abstract partial class BaseRowInfo : Form
{
public BaseRowInfo()
{
InitializeComponent();
}
private void SaveButton_Click(object sender, EventArgs e)
{
Save();
}
protected abstract void Save();
}
public partial class EditableRowInfoFrm : BaseRowInfo
{
public EditableRowInfoFrm():base()
{
InitializeComponent();
}
protected override void Save()
{
// TODO
}
}
public partial class ReadOnlyRowInfoFrm : BaseRowInfo
{
public ReadOnlyRowInfoFrm ():base()
{
InitializeComponent();
}
protected override void Save()
{
// TODO
}
}
一旦我将基类定义为抽象类,我就无法再编辑派生表单的 UI。 我将基类定义为抽象的事实是错误的吗?如果可以将其定义为抽象,解决方案是什么?
【问题讨论】:
标签: c# winforms inheritance abstract