我有兩種表單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有正確的答案,你可以用靜態方法創建一個單獨的類。