[C#] 利用部分方法添加调试代码
2013-09-22 09:16
471 查看
编写游戏代码的时候经常需要在开发过程中多写一些调试代码,这些代码到了游戏发布期有要都注释掉或者删除掉,一不留神残余代码还会对游戏发布版本的效率造成负面影响。这样就需要找一种有效手段来控制这样的代码。
利用C#的部分类和部分方法就可以将调试代码单独独立成代码文件,而且发布期只需要把这些独立出来的代码文件屏蔽掉,原始代码中调用的部分自动就会被编译器忽略,而发布过程结束后,将屏蔽解除掉,便有可以进入下一个开发周期,完全不用手动调整代码。
例如:
发布代码中只处理触摸输入,但是调试期需要以鼠标代替触摸,这样的情况下,只需要将处理鼠标输入的代码写入部分方法中,然后在处理输入的主逻辑下调用此部分方法即可。
(PauseButton.cs)
(PauseButton_Debug.cs)
上面的代码,在发布期只需要将PauseButton_Debug.cs屏蔽即可。
不过有几点需要注意:
1、部分类如果有命名空间,那么需要确保类的各个部分都定义在同一个命名空间内。
2、部分方法只能是私有的,而且不能加访问修饰符,因此部分方法的功能只能局限在当前类定义内。
利用C#的部分类和部分方法就可以将调试代码单独独立成代码文件,而且发布期只需要把这些独立出来的代码文件屏蔽掉,原始代码中调用的部分自动就会被编译器忽略,而发布过程结束后,将屏蔽解除掉,便有可以进入下一个开发周期,完全不用手动调整代码。
例如:
发布代码中只处理触摸输入,但是调试期需要以鼠标代替触摸,这样的情况下,只需要将处理鼠标输入的代码写入部分方法中,然后在处理输入的主逻辑下调用此部分方法即可。
(PauseButton.cs)
public partial class PauseButton : TouchableController { void Update() { // ...handle touch input CheckMouseInput(); } partial void CheckMouseInput(); }// main class end
(PauseButton_Debug.cs)
public partial class PauseButton { partial void CheckMouseInput() { // ...handle mouse input } }// partial class end
上面的代码,在发布期只需要将PauseButton_Debug.cs屏蔽即可。
不过有几点需要注意:
1、部分类如果有命名空间,那么需要确保类的各个部分都定义在同一个命名空间内。
2、部分方法只能是私有的,而且不能加访问修饰符,因此部分方法的功能只能局限在当前类定义内。
相关文章推荐
- [C#] 利用部分方法添加调试代码(附录)
- .NET/C#利用反射调用含ref或out参数的方法示例代码
- 在winfrom下利用c#代码,实现kindEditor的JavaScript方法:editor.html(),实现上报窗体的自动提交。
- 超精简C#程序代码改进-利用扩展方法简化代码增强可读性
- linux设备驱动程序第四部分:从如何定位oops对代码的调试方法,驱动线
- C# 利用范型与扩展方法重构代码
- 【四方向型】虚拟摇杆 C#代码部分(1)--基本参数与动画方法
- C#实现为类和函数代码自动添加版权注释信息的方法
- 超精简C#程序代码改进-利用扩展方法简化代码增强可读性
- C#实现为类和函数代码自动添加版权注释信息的方法
- 编写高质量代码改善C#程序的157个建议——建议101:使用扩展方法,向现有类型“添加”方法
- 利用pe添加节的方法添加代码 实现简单的加壳
- 利用C#代码将html样式文件与Word文档互换的方法
- MVC添加动态视图的参考代码。重点是添加部分视图的使用方法,非常有用的代码!!!!!!!!!!!!!!
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
- C# 添加图片水印类实现代码
- 利用jquery的attr方法一行代码实现的简单的图片切换效果
- ASP.NET开发中,添加客户端代码的几种方法 (转)
- C#中利用反射操作私有字段与私有方法
- Android部分厂商手机无法连接Mac系统进行调试的解决方法