Part 61 to 63 Talking about partial class and partial method in C#
2024-09-05 02:37:23
部分类和部分方法
部分类是用partial声明的类,它允许我们把一个类分割成两个或多个类,当应用程序编译的完成的时候,多个部分类会结合成一个类,同时partial关键字也可以用于声明结构和接口。
那么下面问题来了,为什么要有部分类呢?
既然微软创造了这么一个东西,肯定有它存在的意义的
存在意义之一:
如果大家留意的话,会发现我们创建的webform程序或者windowform程序时,默认情况下会自动生成两个文件:webfrom1.aspx.cs和webform1.aspx.designer.cs,然后你会发现这两个类都用了关键字partial去声明了,没错,这就是部分类应用的所在,我认为它是为了code-behind技术而生的,因为声明了部分类,系统自动生成的代码和我们自己打的代码得以分离,已于代码的阅读和理解,提高开发效率。
存在意义之二:
处理大型项目时,把一个复杂的类可以分成多个部分类给多个程序员同时进行开发。不过,微软声明这是一个好处,除了上面说的例子之外,我没在其他地方见过的使用部分类,使用分部类的就让让多个部分类一起工作而已。。。
下面就是部分类在使用的时候注意的几点
一:如果声明了一个部分类,另一个类和部分类的类名相同的话编译是不通过的,必须两个都是部分类才能编译通过
二:多个部分类的访问修饰符要一致。
三:如果一个部分类为抽象或者密封类,那么所有的部分类都要声明为抽象或者密封类
四:如果部分类为派生类,那么其基类要相同
部分方法
在部分类和部分结构中可以声明partial的方法
当在一个部分类写一个部分方法时,可以只声明方法签名,然后在另一个部分类中写一个签名相同带有方法体的方法去实现它,也可以同时声明方法和方法体,但不可以再在另一个部分类中再次声明该方法。在一个部分类中不可以同时声明部分方法并且带有方法体。
部分方法的默认修饰符是private,所以不可以再用private去修饰它,而且部分方法的不可以有返回值,也就是说只能是void。
最新文章
- Huffman Tree
- 【开源】分享一个前后端分离方案-前端angularjs+requirejs+dhtmlx 后端asp.net webapi
- 【python网络编程】新浪爬虫:关键词搜索爬取微博数据
- php 在客户端生成txt文件并且下载
- Chapter 3
- sublime text3输入中文的问题.
- 链表中倒数第K个节点
- 访问Tableau自带的PostgreSQL数据库
- Java equals 和 hashcode 方法
- Cocos2dx使用网络图片
- Linux学习 -- 服务管理
- Java内部类与final关键字详解
- [Linux] Desktop Management
- 福州大学W班-助教总结
- 通过JNDI从服务器容器中获取资源_Spring JNDI+Mysql+Tomcat
- 低版本IDE 打开 高版本 IDE 代码时 unit
- Go中的Init函数
- JavaScript 组数去重demo
- 使用Log4j2实现日志输出
- Groovy与Java集成常见的坑
热门文章
- 华为云计算IE面试笔记-华为云计算解决方案业务迁移支持哪些迁移?有哪些特点?请描述基本的业务交付流程、业务迁移流程和原则。
- P5488-差分与前缀和【NTT,生成函数】
- P6122-[NEERC2016]Mole Tunnels【模拟费用流】
- 使用Jacoco统计服务端代码覆盖情况实践
- MySQL8.0.20下载与安装详细图文教程,mysql安装教程
- Linux从头学15:【页目录和页表】-理论 + 实例 + 图文的最完全、最接地气详解
- JVM学习笔记——方法区
- Linux Bash命令杂记(tr col join paste expand)
- Go语言核心36讲(Go语言基础知识二)--学习笔记
- JUC多线程之ThreadPoolExecutor类任务执行流程