CSharp3新特性之六:分部方法

 

CSharp3新特性之六:分部方法

参考:http://blog.csdn.net/aspnet2002web/article/details/5876588
搜集整理:sagahu@163.com
日期:2012-01-04

分部类是在C#2.0提供的语法特性,从C#3.0又提供了分部方法这个新语法特征。

将一个类的代码分成多个同名类(可以放在不同名的文件里),类名前加上 partial 关键字,编译时会被完整的编译到一起,这称为部分类。

从C#3.0,可以在分部类里建立分部方法:方法名前加上 partial 关键字;方法的声明与方法的实现放在不同的分部类里面(分部方法只能将方法分成声明与实现两个部分,从而放在两个不同的分部类里面)。

下面一段简单的演示代码:

    class Program
    {
        static void Main(string[] args)
        {
            (new PartialClass()).method2("Hello world");
        }
    }

    partial class PartialClass
    {
        partial void method1(string s); // 声明一个分部方法
    }

    partial class PartialClass // 分部类可以放在不同的文件里
    {
        partial void method1(string s) // 实现分部方法
        {
            Console.WriteLine(s);
        }

        public void method2(string s) 
        {
            this.method1(s); // 分部方法必须是私有的,无论实例方法或者静态方法
        }
    }
        

分部方法的意义

分部方法存在的目的在于,编码者有时希望在代码文件中留下一些可以未来有机会再写的方法函数,以后可以让其它编码者编写这些分部方法的代码,就算是没有人实现了这些分部方法,它也不会对性能产生丝毫的影响。

分部方法的使用规则:

  • 分部方法只能在分部类中定义和实现。
  • 分部方法必须指定partial修改符。
  • 分部方法是私有的,但是不能指定private修改程序,否则会产生编译错误。由于分部方法必须是私有方法,所以不允许使用abstract、virtual、override、new、sealed、extern等关键字,可以使用internal关键字。
  • 分部方法必须返回void类型。
  • 分部方法可以是未实现的方法。
  • 分部方法可以是静态的。
  • 分部方法可以有参数;可以有ref参数,但不能有out参数。
  • 不允许将委托转换为分部方法。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值