2010-06-01 98 views
1

没有使用P/Invoke,从C++/CLI我已经成功地从建C.第三方集成DLL库的各种方法非托管代码之间的快速数据交换和托管代码

其中一个方法从数据库中检索信息并将其存储在不同的结构中。我编写的C++/CLI程序读取这些结构并将它们存储在列表<>中,然后返回到相应的读取和使用完全在C#中编程的应用程序。我知道数据的双重处理(首先填充几个结构,然后将所有这些结构填充到列表<>)可能会产生不必要的重载,此时我希望C++/CLI具有关键字“yield”。

根据上述情况,您是否有避免或减少超载的建议?

谢谢。

回答

0

您不需要yield关键字来创建迭代器。只需创建一个类实现IEnumerator<T>和另一个类实现IEnumerable<T>

+0

谢谢斯蒂芬,你知道一个网站获取一些例子吗? – vizcayno 2010-06-01 15:58:10

+0

下面是我从谷歌搜索中找到的一个:http://www.brianensink.com/blog/post/Implementing-IEnumerable3cT3e-in-C2b2bCLI.aspx – 2010-06-01 16:56:59