📜  C#中的局部类

📅  最后修改于: 2021-05-29 22:08:24             🧑  作者: Mango

局部类是C#的一项特殊功能。它提供了一种特殊功能,可将单个类的功能实现为多个文件,并且在编译应用程序时将所有这些文件组合为单个类文件。通过使用局部关键字创建局部类。此关键字对于将方法,接口或结构的功能拆分为多个文件也很有用。

句法 :

public partial Clas_name  
{
        // code
}

要点:

  • 如果要将类,方法,接口或结构的功能分成多个文件,则应使用partial关键字,并且所有文件都是必需的,以便在编译时可用以创建最终文件。
  • 部分修饰符只能立即出现在诸如struct,class和interface之类的关键字之前。
  • 部分类定义的每个部分都应该在相同的程序集和名称空间中,但是可以使用不同的源文件名。
  • 部分类定义的每个部分都应具有与private,protected等相同的可访问性。
  • 如果部分类的任何部分被声明为抽象,密封或基类,则整个类将被声明为同一类型。
  • 还允许用户使用嵌套的部分类型。
  • 不同的部分可能具有不同的基本类型,但是最终类型必须继承所有基本类型。

示例:在这里,我们使用一个名为Geeks的类,并将Geeks类的定义分为两个不同的文件,分别名为Geeks1.cs和Geeks2.cs,如下所示:

Geeks1.csGeeks2.cs中,使用partial关键字创建了一个部分类,并且每个文件都包含Geeks类的不同功能,如下所示。

极客1.cs

C#
public partial class Geeks {
    private string Author_name;
    private int Total_articles;
 
    public Geeks(string a, int t)
    {
        this.Authour_name = a;
        this.Total_articles = t;
    }
}


C#
public partial class Geeks {
    public void Display()
    {
        Console.WriteLine("Author's name is : " + Author_name);
        Console.WriteLine("Total number articles is : " + Total_articles);
    }
}


C#
public class Geeks {
    private string Author_name;
    private int Total_articles;
 
    public Geeks(string a, int t)
    {
        this.Authour_name = a;
        this.Total_articles = t;
    }
 
    public void Display()
    {
        Console.WriteLine("Author's name is : " + Author_name);
        Console.WriteLine("Total number articles is : " + Total_articles);
    }
}


Geeks2.cs

C#

public partial class Geeks {
    public void Display()
    {
        Console.WriteLine("Author's name is : " + Author_name);
        Console.WriteLine("Total number articles is : " + Total_articles);
    }
}

当我们执行上述代码时,编译器将Geeks1.cs和Geeks2.cs组合到一个文件中,即Geeks,如下所示。
怪胎此类可能包含Main方法。为简单起见,此处不包括Main()方法。

C#

public class Geeks {
    private string Author_name;
    private int Total_articles;
 
    public Geeks(string a, int t)
    {
        this.Authour_name = a;
        this.Total_articles = t;
    }
 
    public void Display()
    {
        Console.WriteLine("Author's name is : " + Author_name);
        Console.WriteLine("Total number articles is : " + Total_articles);
    }
}

好处 :

  • 借助局部类,多个开发人员可以在同一个类中的不同文件中同时工作。
  • 借助局部类概念,您可以拆分设计代码和业务逻辑代码的UI,以读取和理解该代码。
  • 使用自动生成的代码时,可以将代码添加到类中,而不必像在Visual Studio中那样重新创建源文件。
  • 您还可以通过将大型类压缩为小型类,从而以高效的方式维护应用程序。