starforce 源码解读一:关键字 partial
Star Force 是一个使用 Game Framework 游戏框架制作的游戏演示项目,因为 Game Framework 框架文档奇缺,想要学习 Game Framework 框架,阅读 Star Force 项目是主要的一条路径。
Game Framework 是一个基于 Unity 引擎的游戏框架,主要对游戏开发过程中常用模块进行了封装,很大程度地规范开发过程、加快开发速度并保证产品质量。
今天从关键字 partial 开始一步一步解读。
partial 是部分之意,C#的关键字(局部类型),可以将类、结构或接口的定义拆分到多个源文件中,只要在声明(类、结构或接口)前使用 partial 即可。
注:以下类、结构或接口,暂时统成为类。
一、适用范围
类特别大,放在一个文件中,不易读,可维护性差。
类中一部分是我们自己编写的,一部分是自动化工具生成的。
多人编写同个类时。
二、使用限制
只适用于类、结构或接口,不适用于委托和接口。
各个部分(不同的文件)都需要有关键字 partial,需要是相同的命名空间。
partial 只有和 class、struct、interface 才有局部类型的意义,代码中可使用 partial 作为变量名称。
二、特性
具有累加效应。
接下来看看项目中的使用:
文件:GameEntry.cs
public partial class GameEntry : MonoBehaviour
public partial class GameEntry : MonoBehaviour
可以看到虽然文件名不同,但是类名都是GameEntry
,声明前面包含partial class
。
项目中有多次地方采用了此方式,作者对应项目的分层相当严格,从partial
的使用就可看得出来。
版权声明: 本文为 InfoQ 作者【风翱】的原创文章。
原文链接:【http://xie.infoq.cn/article/2b2ab240583b35e868c043005】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论