C# 中的區域性類

Muhammad Maisam Abbas 2021年3月21日
C# 中的區域性類

在本教程中,我們將討論 C# 中的區域性類。

C# 中的區域性類

partial 關鍵字在 C# 中指定了部分類。如果我們有一個承擔多個職責的類,則應將其分為兩個分隔符類,每個分隔符只具有一個目的。實現此目的的一種方法是在 C# 中建立一個具有獨立依賴項的獨立類。解決此問題的另一種簡便方法是為每個責任建立一個區域性類。我們可以使用部分類將一個類的定義拆分到多個檔案中。

在本教程中,我們將 Person 類的定義劃分為多個檔案 Person1.csPerson2.cs

  • Person.cs
using System;

namespace partial_class
{
    public partial class Person
    {
        private int id;
        private string name;
        
        public Person(int id, string name)
        {
            this.id = id;
            this.name = name;
        }
        
        public void show()
        {
            Console.WriteLine("Person id = {0}", id);
            Console.WriteLine("Person Name = {0}", name);
        }
    }
}

我們將藉助 C# 中的 partial 關鍵字將此類的定義拆分為多個檔案。下面給出了 Person1.csPerson2.cs 類的內容。

  • Person1.cs
namespace partial_class
{
    public partial class Person
    {
        private int id;
        private string name;
        public Person(int id, string name)
        {
            this.id = id;
            this.name = name;
        }
    }
}
  • Person2.cs
using System;

namespace partial_class
{
    public partial class Person
    {
        public void show()
        {
            Console.WriteLine("Person id = {0}", id);
            Console.WriteLine("Person Name = {0}", name);
        }
    }
}

包含 main() 函式的 Program.cs 的內容如下。

  • Program.cs
namespace partial_class
{
    class Program
    {
        static void Main(string[] args)
        {
            Person p = new Person(1,"Maisam");
            p.show();
        }
    }
}

輸出:

Person id = 1
Person Name = Maisam

在上面的程式碼示例中,我們在 C# 中使用 partial 關鍵字將 Person.cs 類的程式碼分為兩個檔案-Person1.csPerson2.cs。這種方法有多個優點。我們可以將具有多個職責的大類劃分為多個較小的部分類,每個小類分別承擔一個職責。多個開發人員可以在 2 個不同的單獨檔案中處理同一個類。我們可以將前端設計與後端業務邏輯分開。區域性類還為我們提供了一種有效維護程式碼的方法。這也使我們的程式碼更加整潔,並通過部分類進行組織。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相關文章 - Csharp Class