免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 920 | 回复: 0
打印 上一主题 下一主题

c#与c++比较,c#新的语法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:41 |只看该作者 |倒序浏览
c++ delegate 的含义?
就是C++函数指针。
 但是可以绑定上多个函数。实际上是functionPointer的封装类。

事件:事件是一个被进一步自动化了的委托.
在外边始终为类的私有变量。

(10)代理三步曲:
a.生成自定义代理类:delegate int MyDelegate();
b.然后实例化代理类:MyDelegate d = new MyDelegate(MyClass.MyMethod);
c.最后通过实例对象调用方法:int ret = d(); 

c#与c++如何过渡?
通过代理实现获得函数指针。
monther DLLs ->LoadDll()
monther DLLs ->dllDrawing.DrawStart ---load DLLs---- get functionPointer ----- call it
pDll = LoadDll();
pVersion = (DllVersionDelegate)GetDelegate("DllVersion", typeof(DllVersionDelegate));
pDraw = (DllDrawDelegate)GetDelegate("DllDraw", typeof(DllDrawDelegate));
pDrawStart = (DllDrawStartDelegate)GetDelegate("DllDrawStart", typeof(DllDrawStartDelegate));
pDrawStop = (DllDrawStopDelegate)GetDelegate("DllDrawStop", typeof(DllDrawStopDelegate));


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP