.net framework 3.5的分部方法

简介:
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>
   出自 http://www.cnblogs.com/wzcheng/archive/2007/07/31/837199.html

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

.net framework 3.5的分部方法 - netcorner - netcorner的博客    public partial class AI
.net framework 3.5的分部方法 - netcorner - netcorner的博客 .net framework 3.5的分部方法 - netcorner - netcorner的博客    .net framework 3.5的分部方法 - netcorner - netcorner的博客{
.net framework 3.5的分部方法 - netcorner - netcorner的博客         public void Active()
.net framework 3.5的分部方法 - netcorner - netcorner的博客 .net framework 3.5的分部方法 - netcorner - netcorner的博客        .net framework 3.5的分部方法 - netcorner - netcorner的博客{
.net framework 3.5的分部方法 - netcorner - netcorner的博客             this.Run();
.net framework 3.5的分部方法 - netcorner - netcorner的博客             this.Jump();
.net framework 3.5的分部方法 - netcorner - netcorner的博客           }
.net framework 3.5的分部方法 - netcorner - netcorner的博客 
.net framework 3.5的分部方法 - netcorner - netcorner的博客          partial void Run();
.net framework 3.5的分部方法 - netcorner - netcorner的博客 
.net framework 3.5的分部方法 - netcorner - netcorner的博客          partial void Jump();
.net framework 3.5的分部方法 - netcorner - netcorner的博客       }
.net framework 3.5的分部方法 - netcorner - netcorner的博客 
.net framework 3.5的分部方法 - netcorner - netcorner的博客     public partial class AI
.net framework 3.5的分部方法 - netcorner - netcorner的博客 .net framework 3.5的分部方法 - netcorner - netcorner的博客    .net framework 3.5的分部方法 - netcorner - netcorner的博客{
.net framework 3.5的分部方法 - netcorner - netcorner的博客          partial void Run()
.net framework 3.5的分部方法 - netcorner - netcorner的博客 .net framework 3.5的分部方法 - netcorner - netcorner的博客        .net framework 3.5的分部方法 - netcorner - netcorner的博客{
.net framework 3.5的分部方法 - netcorner - netcorner的博客              Console.WriteLine("我在跑");
.net framework 3.5的分部方法 - netcorner - netcorner的博客          }
.net framework 3.5的分部方法 - netcorner - netcorner的博客      }
.net framework 3.5的分部方法 - netcorner - netcorner的博客 
.net framework 3.5的分部方法 - netcorner - netcorner的博客     public partial class AI
.net framework 3.5的分部方法 - netcorner - netcorner的博客 .net framework 3.5的分部方法 - netcorner - netcorner的博客    .net framework 3.5的分部方法 - netcorner - netcorner的博客{
.net framework 3.5的分部方法 - netcorner - netcorner的博客          partial void Jump()
.net framework 3.5的分部方法 - netcorner - netcorner的博客 .net framework 3.5的分部方法 - netcorner - netcorner的博客        .net framework 3.5的分部方法 - netcorner - netcorner的博客{
.net framework 3.5的分部方法 - netcorner - netcorner的博客              Console.WriteLine("我在跳");
.net framework 3.5的分部方法 - netcorner - netcorner的博客          }
.net framework 3.5的分部方法 - netcorner - netcorner的博客      }
.net framework 3.5的分部方法 - netcorner - netcorner的博客 
  

它可以:

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

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

它不可以:

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

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

它有价值的地方:

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

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

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

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

本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/archive/2007/07/31/2912324.html  ,如需转载请自行联系原作者

相关文章
|
1月前
|
API C++ Windows
Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法
本文介绍Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法,提供官方下载链接与系统修复工具使用指南。
520 2
|
4月前
|
C++ Windows
.NET Framework安装不成功,下载`NET Framework 3.5`文件,Microsoft Visual C++
.NET Framework常见问题及解决方案汇总,涵盖缺失组件、安装失败、错误代码等,提供多种修复方法,包括全能王DLL修复工具、微软官方运行库及命令行安装等,适用于Windows系统,解决应用程序无法运行问题。
350 3
|
1月前
|
开发框架 安全 .NET
Microsoft .NET Framework 3.5、4.5.2、4.8.1,适用于 Windows 版本的 .NET,Microsoft C Runtime等下载
.NET Framework是Windows平台的开发框架,包含CLR和FCL,支持多种语言开发桌面、Web应用。常用版本有3.5、4.5.2、4.8.1,系统可同时安装多个版本,确保软件兼容运行。
572 0
Microsoft .NET Framework 3.5、4.5.2、4.8.1,适用于 Windows 版本的 .NET,Microsoft C Runtime等下载
|
2月前
|
C++
提示缺少.NET Framework 3.5 安装错误:0x80070002、0x800F0950\0x80004002
.NET Framework常见问题及解决方法汇总,
469 0
|
4月前
|
C++ Windows
WindowsDLL修复专家,MSVCP**、DLL修复vcruntime**、DLL修复、`.Net Framework`缺失、DirectX类DLL修复、VC运行库修复
Windows DLL修复专家是一款专为解决因DLL文件缺失、版本错误导致的软件或游戏无法运行问题的系统工具。它支持一键扫描和修复各类DLL异常,涵盖MSVCP、vcruntime、.NET Framework、DirectX等多种常见问题。具备自动检测、备份还原功能,确保修复过程安全可靠。适用于软件报错、系统异常及新系统适配场景,降低用户手动修复门槛,提升系统稳定性与兼容性。
203 3
|
3月前
.NET Framework 3.5离线安装包合集下载
本文介绍了如何获取和安装.NET Framework运行库离线合集包。用户可通过提供的链接下载安装包,安装过程简单,按提示逐步操作即可完成。安装时可选择所需版本,工具会自动适配架构,无需手动判断,方便高效。
1603 0
|
11月前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
334 5
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
438 0
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
230 7