在C ++中移植.NET委托的最佳方法

问题描述

|| 我正在一个简单的移植项目中,其中一些.NET api代码需要转换为C ++代码。这里没有GUI。我对决定转换代表的最佳方式并不感到困惑。如果您分享您的想法以帮助我决定是简单地使用函数指针替换委托还是应实施某些观察者模式,将对您有所帮助。由于某些原因,我无法使用Boost等任何第三方库。因此,我更喜欢从设计概念上考虑实施起来非常简单但又非常有效和不错的东西。 谢谢。     

解决方法

        Don Clugston的Fast Delegates是C ++中代表的一个流行选择。它们远非简单,但您应该能够轻松地将代码复制并粘贴到项目中。我不是C#委托的专家,所以我不确定它们从那里移植的容易程度,但是它们是有效的,并且应该涵盖大多数用例。     ,        您的编译器如何更新?它具有C ++ 0x功能吗?并且可以使用C ++ std库吗?如果您具有C ++ 0x并且可以使用STL,则std :: function *与C#委托最相同。否则,您将不得不使用函数指针或滚动自己的观察者模式。 *与升压功能相同,但是由于某些原因您不能使用升压。     ,        尝试跟随,一个新的更新也在进行中。您无需向项目中添加大量文件。 http://sourceforge.net/projects/eventchain/     ,        我制作了自己的事件处理系统。这很简单。我只是遵循了C ++的基础知识。我认为,一旦C ++ 0x得到确认,ppl将享有更多自由。就目前而言,我认为这是相当可取的。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...