这节讲一下partial(局部的,部分的)关键字,初学者可能没有接触过这个关键字,但是只要你写过winform或者WPF应用程序的话,那你肯定被动用过这个关键字。首先介绍一下这个关键字的作用,它用作定义一个部分类,也就是说,对于一个类,你可以写在不同的文件中(当然不能超出命名空间的限定),通过partial声明,系统就会自动讲分布在不同地方的类联系在一起。

窗体应用程序,分为界面文件(.design)和代码文件(.cs),这两者之间就是通过partial关键字联系在一起的,所以这也是为什么说被动用过的原因。

public partial class MainWindow : Window {}

那么使用部分类有什么用处呢,你可以试想,如果一个类的成员过于复杂,不方便管理,那我们就可以将类分开定义,属性定义在一起,将方法定义在一起,把类分成多个文件,这样可以更好的管理代码,同时也方便后期维护。

定义部分类要注意,只有有任意一个部分继承了类或接口,那么整个类都是继承此类或接口。

partial关键字除了可以定义部分类以外,还可以定义部分方法,部分方法没有什么特别的作用,它的分部形式,和类一样,只不过,部分方法有很多限制,总结如下:

可以为静态,但是必须是私有方法(private)

不能有返回值

参数可以为ref,但是不能为out

不能使用virtual,abstract,override,new,sealed,或extern修饰符

部分类有这么多限制,唯一的一点好处是在编译时,如果部分类代码是空的,编译器会在编译时完全删除这个方法及所有引用,这会略微提高性能。

对部分类和部分方法声明和作用,读者做了解即可,开发中很少使用。

最新文章

  1. oracle遇到的锁异常,oralce record is locked by another user
  2. How to convert webp to png/jpg/gif in MacOS
  3. MyEclipse 序列号生成代码
  4. Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题
  5. 谈谈eclipse使用技巧二
  6. Linux第三次实验报告
  7. HDU 1754 I Hate It(线段树单点更新区间最值查询)
  8. 立体匹配:关于理解middlebury提供的立体匹配代码后的精减
  9. Quick Sort(快排)
  10. OpenCV for c++Builder
  11. java 得到以后的日期
  12. 201521123038 《Java程序设计》 第十周学习总结
  13. python 进程复习
  14. 我的 FPGA 学习历程(09)—— 时序逻辑入门
  15. SecureCRT 5.2.2版本下载和注册码
  16. cf自训4.10
  17. Linux java进程无故被kill
  18. python第三天基础之字符编码
  19. 基于Form组件实现的增删改和基于ModelForm实现的增删改
  20. MySQL DBA工作角色和职责介绍

热门文章

  1. salesforce lightning零基础学习(十七) 实现上传 Excel解析其内容
  2. 050_Servlet详解
  3. P1149_火柴棒等式(JAVA语言)
  4. Announcing cnblogs-hardening 1.0 Preview 1
  5. 一个C++引用库的头文件预编译陷阱
  6. 用jar命令打包war远程部署
  7. [图论]最优布线问题:kruskal
  8. 【论文笔记】Learning Fashion Compatibility with Bidirectional LSTMs
  9. BUAA_OO_2020_第四单元与课程总结
  10. 2020-BUAA OO-面向对象设计与构造-第三单元总结