我有两种表单A和表单B,我将用它们将信息输入到XML文件中。现在,这两个表单必须调用一些基本相同的方法(相同的名称,相同的实现)。实现相同方法的表单
我无法在此上下文中使用基类,因为表A和表B已经从System.Windows.Forms.Form继承。我应该只使用这两种形式将实现的接口吗?我怀疑这是最好的方法,因为他们需要的方法是相同的。
你能提出一个更好的方法吗?
谢谢。
我有两种表单A和表单B,我将用它们将信息输入到XML文件中。现在,这两个表单必须调用一些基本相同的方法(相同的名称,相同的实现)。实现相同方法的表单
我无法在此上下文中使用基类,因为表A和表B已经从System.Windows.Forms.Form继承。我应该只使用这两种形式将实现的接口吗?我怀疑这是最好的方法,因为他们需要的方法是相同的。
你能提出一个更好的方法吗?
谢谢。
代码重用并按照所谓的“干”的原则,你需要做的“提取类”重因子分解,来避免代码重复。
如果上面这句话看起来很通用的,所以在通俗地说,创建一个实用工具类是最合适的人选,如果你不希望有不同形式的不同实现和代码移到公用静态类。
public static class Utility
{
public static void WriteToXML()
{
// come code here
}
}
你可以创造一个在项目中常用的功能存储类。你可以用你的任何形式调用这些函数。
namespace ProjectNameSpace
{
public class GenericFunctions
{
public static void WriteToXML()
{
// come code here
}
}
}
这是绝对有可能引入一个基本形式是A型和B型继承:
public partial class BaseForm : System.Windows.Forms.Form
{
public BaseForm()
{
InitializeComponent();
}
public void CommonMethod()
{
}
}
public partial class FormA : BaseForm
{
public Form1()
{
InitializeComponent();
}
private void LocalMethod()
{
CommonMethod();
}
}
public partial class FormB : BaseForm
{
public Form1()
{
InitializeComponent();
}
private void LocalMethod()
{
CommonMethod();
}
}
也就是说,如果你的常用代码不涉及任何用户界面相关的东西,然后@Gian Acuna有正确的答案,你可以用静态方法创建一个单独的类。