C++\CLI使用.net委托,*Callback注意"this"
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++\CLI使用.net委托,*Callback注意"this",小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1968字,纯文字阅读大概需要3分钟。
内容图文
![C++\CLI使用.net委托,*Callback注意"this"](/upload/InfoBanner/zyjiaocheng/1145/895fd988bb854454b62f87a1daaa8426.jpg)
今天在使用c++\cli的时候遇到了点关于委托,callback使用的问题,简单记录一下
首先贴段简单的C#中使用System.Threading.Timer的代码.
Timer GameTimer=new Timer(new TimerCallback(this.OnGameTimer),null,0,500);
以上定时器会每隔500毫秒去调用OnGameTimer方法,OnGameTimer方法的定义如下:
void OnGameTimer(object obj){...}
基于以上代码,结合C#的使用方法,我们来写出C++\CLI的使用代码.
Timer^ GameTimer=gcnew Timer(gcnew TimerCallback(this->OnGameTimer),NULL,500);
void OnGameTimer(Object^ obj){...}
很好,vs并没有提示什么语法错误,那么编译的结果呢?
好吧,一番搜索,msdn示例代码 链接如下:
题外话:
最近着手在重写一个很古老的游戏服务端,目前已使用C#按照原来的c++代码重写完了GateServer,LoginServer,RoleServer,GuildServer,但是GameServer选择使用C++\CLI进行重构.这份代码估计出生在1998年左右,没有使用任何设计模式,就连很多大量相同的代码都没有进行简单的封装,GameServer中的主要逻辑都写在game.cpp中,这个cpp足足有2M多,7-8w行代码揉在一起.如果GameServer也使用C#重写的话,那就无法预知工作量了.好在CLI的存在,让这份庞大杂乱的c++代码没花多少功夫就被.net化了,经测试运行进游戏一切正常. 剩下把它那稀烂的网络通信用我C#写的XKSocket替换掉,那一切就不在是问题了! XKSocket git地址: http://git.oschina.net/dreamzgj/XKSocket
C++\CLI使用.net委托,*Callback注意"this"
原文:http://www.cnblogs.com/dreamzgj/p/4175648.html
内容总结
以上是互联网集市为您收集整理的C++\CLI使用.net委托,*Callback注意"this"全部内容,希望文章能够帮你解决C++\CLI使用.net委托,*Callback注意"this"所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。