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