.NET Framework分部方法功能详解
创始人
2024-06-19 10:31:30
0

通过对.NET Framework的学习,我们可以知道,它能为开发人员提供一个功能非常全面的开发环境。那么如何才能真正的掌握这一开发平台呢?首先来了解一下.NET Framework分部方法的相关介绍。#t#

早上看.NET Framework分部方法这个特性。例子如下,第一个类为定义类,第二、第三个类为实现类。

 

  1. public partial class AI  
  2. {  
  3. public void Active()  
  4. {  
  5. this.Run();  
  6. this.Jump();   
  7. }  
  8. partial void Run();  
  9. partial void Jump();  
  10. }  
  11. public partial class AI  
  12. {  
  13. partial void Run()  
  14. {  
  15. Console.WriteLine("我在跑");  
  16. }  
  17. }  
  18. public partial class AI  
  19. {  
  20. partial void Jump()  
  21. {  
  22. Console.WriteLine("我在跳");  
  23. }  

 

.NET Framework分部方法可以:

1. 以上三个类可以不放在相同的CS文件里

2. 后两个分部类如果不写,编译能顺利通过,在IL里产生有方法体的Run和Jump,但是空实现。

 

.NET Framework分部方法不可以:

1. 分部方法不能是公开类型,必须是私有。

2. 实现类不能和定义类分别存在不同的程序集里。

 

.NET Framework分部方法有价值的地方:

1. 更细化分工过程。以前系统分析到对象级,现在可以细到方法级别。从例子里看,对象框架维护人定义了Active方法,而Run和Jump可能被分派到其他人实现。

这样的分工模式和更大规模的集成开发趋势是紧密关联的。简单的看,这只是一个新的语言特性;仔细思考,这其实是软件朝工业化方向发展的一个信号。以后的软件开发过程势必是基于更多特性(或者说是开发工艺),在生产线上完成的。一个人就是一个螺丝钉,让你实现Run就Run,让你Jump就Jump,如果你想发挥自己的聪明才智,好,就在这个范围内尽情的发挥吧!

2. 代码可以写的更优雅,如果本例中的Run和Jump的内部实现异常复杂(AI机器人行为嘛),一个CS文件搞个几千上万行,别人读的时候时会吐血的。如果再碰到一个写代码不地道的,把方法堆砌起来了事,那是连肝都要吐出来的。有了分部方法,就可以把问题压到局部,不想看的地方我就可以看不见。

3. 代码优雅只是一个表象,如果是牺牲了性能换取的,我宁愿不要这个特性。事实上恰恰相反,分部方法的效率是非常OK的。具体就去写个例子,观察IL吧。哈哈!

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...