C#中的分部类和分部类型

🎈1、分部类

类的声明可以分割成几个分部类的声明。

1、每个分部类的声明都含有一些类成员的声明。

2、每个分部类声明可以在同一文件中也可以在不同文件中。

每个局部声明必须被标为partial class,而不是单独的关键字class。

很常见的一个分部类的用法,就是winform中的窗体,如下图所示:

C#中的分部类和分部类型
C#中的分部类和分部类型

🎈2、分部方法

分部方法是声明在分部类中不同部分的方法。分部方法的不同部分可以声明在不同的分部类中,也可以声明在同一个类中。分部方法的两个部分如下:

1、定义分部方法声明

给出签名和返回类型

声明的实现部分只是一个分号

2、实现分部方法声明

给出签名和返回类型

是以正常形式的语句块实现

关于分部方法,我们还需要了解的重要内容:

定义声明和实现声明的签名和返回类型必须匹配。

返回类型必须是void

签名不能包括访问修饰符,因此分部方法都是隐式私有的

参数列表不能包含out参数

在定义声明和实现声明中都必须包含上下文关键字partial,直接放在关键字void之前

🎈3、一个有关分部类与分部方法的例子

代码如下:

 partial class Demo
    {
        partial void PrintSum(int x, int y)//定义分部方法
        public void Add(int x, int y)
        {
            PrintSum(x, y);
        }
    }
  partial class Demo
    {
        partial void PrintSum(int x, int y//实现分部方法
        {
            Console.WriteLine($"Sum is {x + y}");
        }
    }
    internal class Program
    {
        static void Main(string[] args)
        {
           var demo = new Demo();
           demo.Add(7,9);
        }
    }

运行结果,如下所示:

C#中的分部类和分部类型

🎈4、分部类与分部方法的用途

在C#中,分部类(Partial Class)和分部方法(Partial Method)是为了方便大型项目的开发和维护而引入的特性。这些特性允许你将一个类或方法的实现分散在多个文件中,但在编译时会被视为一个完整的类或方法。以下是它们的主要用途:

分部类(Partial Class):

  1. 组织大型类: 允许将一个类的实现分散到多个文件中。这对于大型项目中需要多人协作或者需要对类进行分组以提高可读性时非常有用。
  2. 代码生成工具: 通过分部类,代码生成工具可以在生成的代码中插入自定义代码,而不会影响手动编写的代码。这对于使用工具自动生成代码的情况非常有用。
  3. 部分类库: 有时,类的定义和实现可能来自不同的库或程序集。使用分部类可以将这两部分分离,方便库的维护和更新。

分部方法(Partial Method):

  1. 条件编译: 分部方法可以在一个部分中声明,在另一个部分中实现。如果在一个部分中声明了分部方法但在其他任何部分中都没有实现,编译器会将该方法从最终的 IL 代码中删除。这提供了条件编译的能力。
  2. 代码生成工具: 类似于分部类,分部方法可以与代码生成工具一起使用。生成工具可以在一个部分中声明分部方法,在另一个部分中提供实现。


原文始发于微信公众号(DotNet学习交流):C#中的分部类和分部类型

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/230778.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!