C#基础知识之Partial的使用

partial是为了简化项目结构而诞生的关键字。它可以拆分一个,一个结构,一个接口或一个方法到俩个或者更多得文件中,使得代码得结构更加清晰。这样,每个源文件包含类或者方法定义得一部分,在编译时期再组合起来。


分部类 (partial class)

使用场景

  • 处理大型项目时,一个类分布到多个文件中方便多人协作
  • 对于一个大型得程序集,需要很多不同功能得子模块,这个时候使用partial会让结构更加清晰
  • 当使用自动生成的源文件,你可以添加代码而不需要重新创建源文件

功能

在编译期,将以下内容进行合并

  • xml注释
  • 接口
  • 泛型类型参数
  • class特性
  • 成员

使用规则

  • 作为同一个类得分部类定义都必须使用partial进行修饰
public partial class Network{
    int a;
}
//error code
/*
public class Network{
    int b;
}
*/
  • partial修饰符只能出现在关键字class,struct,interface前面得位置
  • 分部类中允许使用嵌套分部类
  • 一个类的所有分部类必须在同一程序集和同一模块中
  • 分部类的类名和泛型类型参数必须匹配
  • 以下关键字可以出现在partial类的定义中,但是注意不可以有冲突
/*
public
private
protect
internal
abstract
sealed
基类
new修饰符
泛型约束
*/

使用样例

public class Network{
    public void Send(){}
}
public class Network{
    public void Receive{}
}
// 等效于
public class Network{
    public void Send(){}
    public void Receive{}
}

分部方法

分部的方法的核心就是在一个地方定义,在另外一个地方声明,只要定义了就可以在代码里使用,如果没有声明,在编译器会自动删除调用的代码。

使用规则

  • 方法必须用partial修饰,返回值必须为void
  • 可以有in或者ref参数,但不能有out参数
  • 分部方法为隐式private,因此不能用virtual方法
  • 不能为extern方法
  • 可以有static,unsafe
  • 可以是泛型
  • 可以为分部方法生成委托
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值