分部类和分布方法的适用价值

“分部类”(Partial Class)在C#2.0引入,“分布方法(Partial Method)”在C#3.0引入,这两个语法特性都有相同的特性:将类或方法的代码分散在多个地方。
 1>为什么要引入分部类:
 当项目中有一部分有系统自动生成的时候,可以使用分部类特性将这部分代码放到一个单独的文件上,从而将机器自动生成的代码和程序员写的代码区分开了,这样有助于提升代码
 的可读性。
 在实际的开发中,往往某个类由不同的人活着团队进行维护,也可以应用到分部类的来实现源代码的隔离。
 另外,分布特性还可以用于结构(Struct)和接口(interface)。
 2>分布方法的特性与应用
 下面的代码放在MyClass1.cs文件下:

1 Partial class MyClass
2 {
3 Partial void PartialMethod();//分部方法的声明
4 Public void OridinaryMethod();//普通的方法
5 {
6 PartialMethod();//调用分部方法
7 }
8 }

(注意:分部方法不能是公有的!)
 
分部方法的实现放在MyClass2.cs文件中:
  

1 Partial class MyClass
2 {
3 Partial void PartialMethod()//分部方法的实现代码
4 {
5 。。。。。
6 }
7 }

通过普通的方法调用分部方法

1 MyClass obj=new MyClass()
2 obj.OridinaryMethod();//间接地调用分部方法

可以看到调用分部方法好像和普通的方法没有什么区别,别着急现在我们来做一个实验:注释掉MyClass2.cs中的有关分部方法的实现代码,然后你在编译,会发现并不会报错
其实这个真是分部方法的妙处:
当分部方法没有提供实现代码的时候,C#编译器就会在编译的时候自动删除其调用语句。
那么这个有有什么用呢?
答案是:使用分部方法允许我们在一个普通的方法中插入一个“方法占位符”,从而为编写“可随时添加功能”的方法提供支持。
请看一下代码:

1 void SomeMethod()
2 {
3 BeginpartialMethod();//声明为分部方法
4 //实现本方法的代码
5 EndpartialMethod();//声明为分部方法
6 }

通过在方法的头和尾使用分部方法,我们就会为此方法定义两个“方法占位符”,可以根据实际情况提供或不提供分部方法的实现代码。
  简而言之,利用分部方法,我们可以实现向某个方法“动态注入”附加的功能代码,这在本质上是提供了一个方法的“功能扩展点”。


转载于:https://www.cnblogs.com/zhangxiaobing/archive/2011/09/27/2193038.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值