2013-03-08 87 views
2

我有兩種表單A和表單B,我將用它們將信息輸入到XML文件中。現在,這兩個表單必須調用一些基本相同的方法(相同的名稱,相同的實現)。實現相同方法的表單

我無法在此上下文中使用基類,因爲表A和表B已經從System.Windows.Forms.Form繼承。我應該只使用這兩種形式將實現的接口嗎?我懷疑這是最好的方法,因爲他們需要的方法是相同的。

你能提出一個更好的方法嗎?

謝謝。

回答

1

代碼重用並按照所謂的「幹」的原則,你需要做的「提取類」重因子分解,來避免代碼重複。

如果上面這句話看起來很通用的,所以在通俗地說,創建一個實用工具類是最合適的人選,如果你不希望有不同形式的不同實現和代碼移到公用靜態類。

public static class Utility 
{ 
    public static void WriteToXML() 
    { 
     // come code here 
    } 
} 
1

你可以創造一個在項目中常用的功能存儲類。你可以用你的任何形式調用這些函數。

namespace ProjectNameSpace 
{ 
    public class GenericFunctions 
    { 
     public static void WriteToXML() 
     { 
     // come code here 
     } 
    } 
} 
0

這是絕對有可能引入一個基本形式是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有正確的答案,你可以用靜態方法創建一個單獨的類。

相關問題