C# - 使用 Partial Classes

摘要:C# - 使用 Partial Classes

從以前到現在都沒用過 Partial Classes,因為專案的關係,終於有機會使用了。一般來說,當我們定義好介面( Interface )後,就要開始實作介面的功能。但有時候開發專案時,會遇到「一人以上同時開發同一個實作類別」與「某個實作類別的功能,有一些需要撰寫許多的商業邏輯運算」;這時就可以考慮使用「Partial Classes」,因為這樣既可以多功,也可讓這支實作類別日後讓人好維護,以下就來實作...

步驟一:建立一個新的專案,並且建立一個介面,名為「IT1.cs」



步驟二:在介面中建立兩個功能

Code:

namespace WindowsFormsApplication2
{
    public interface IT1
    {
        string GetNow();

        string GetDate();
    }
}

步驟三:建立一個類別,名為「T1.cs」


步驟四:讓 T1.cs 類別繼承 IT1.cs 介面

Code:

namespace WindowsFormsApplication2
{
    public class T1 : IT1
    {
    }
}

步驟五:再建立一個類別,名為「T1.T2.cs」


步驟六:請分別在「T1.cs」與「T1.T2.cs」的 class 前面加入關鍵字「partial」

T1.cs:

namespace WindowsFormsApplication2
{
    public partial class T1 : IT1
    {
    }
}

T1.T2.cs:

namespace WindowsFormsApplication2
{
    partial class T1
    {
    }
}

步驟七:分別在「T1.cs」與「T1.T2.cs」實作介面中所定義的功能

T1.cs:

namespace WindowsFormsApplication1
{
    public partial class T1 : IT1
    {
        public string GetNow()
        {
            return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
        }
    }
}

T1.T2.cs:

namespace WindowsFormsApplication1
{
    partial class T1
    {
        public string GetDate()
        {
            return DateTime.Now.ToString("yyyy-MM-dd");
        }
    }
}

步驟八:設計畫面,並且使用介面所定義的功能


Code:

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            T1 a = new T1();

            MessageBox.Show(a.GetNow());
        }

        private void button2_Click(object sender, EventArgs e)
        {
            T1 a = new T1();

            MessageBox.Show(a.GetDate());
        }
    }
}

結果:



參考:
partial (C# 參考)
[C#] Visual C# Partial classes
什麼是C# 分部類(partial)