如何在C#中编写自己的包装器?

时间:2009-04-14 21:58:14

标签: c# c++ wrapper

在我的另一个问题中,我一直试图找到一个知道在哪里可以找到C#的免费开源OCR库的人。但是,似乎只有C ++库,显然,C ++不是C#。

其中一位回复建议在C#中编写自己的包装器。我几乎不知道该怎么做,在哪里学习它,或它实际上是什么 - 除了我相信它通过改变的方法调用在dll中调用C ++方法,......这只是假设,确实。

请再帮助一个新手。谢谢

4 个答案:

答案 0 :(得分:7)

你可以在这里开个好头:

Call Unmanaged Code. Part 1 - Simple DLLImport

答案 1 :(得分:3)

如果你的包装很简单,你就可以逃脱P/Invoke。如果您确实需要托管对象,那么最简单的解决方案可能是使用C ++ / CLI(以前称为Managed C ++)编写包装器,因为它为托管/非托管互操作提供了完整的功能集。

答案 2 :(得分:1)

这是我如何做Interop。它向您展示了如何处理简单的情况(BOOL to bool)以及一些更难的情况(传递带有指向托管内存的指针的结构)。祝你好运。

答案 3 :(得分:1)

另见this SO question。我发现答案指的是Interop Assistant非常有用。