如何在 C# 中编写我自己的包装器?
Posted
技术标签:
【中文标题】如何在 C# 中编写我自己的包装器?【英文标题】:How to write my own wrapper in C#? 【发布时间】:2009-04-14 21:58:14 【问题描述】:在我的另一个问题中,我一直在努力寻找知道在哪里可以找到 C# 的免费开源 OCR 库的人。但是,似乎只有 C++ 库,显然 C++ 不是 C#。
其中一个回复建议用 C# 编写我自己的包装器。我几乎不知道该怎么做,在哪里学习,或者它实际上是什么 - 除了我相信它通过更改方法调用在 dll 中调用 C++ 方法,.. 这只是假设,确实。
请再帮一个新手。谢谢
【问题讨论】:
【参考方案1】:您可以从这里开始:
Call Unmanaged Code. Part 1 - Simple DLLImport
【讨论】:
链接已失效【参考方案2】:如果您的包装非常简单,您可以使用P/Invoke。如果您确实想要托管对象,您最简单的解决方案可能是在 C++/CLI(以前的托管 C++)中编写包装器,因为它为托管/非托管互操作提供了完整的功能集。
【讨论】:
【参考方案3】:这就是我的做法Interop。它向您展示了如何处理简单的情况(BOOL 到 bool)以及一些更困难的情况(传递带有指向托管内存的指针的结构)。祝你好运。
【讨论】:
以上是关于如何在 C# 中编写我自己的包装器?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Visual Studio COM 包装器(或其他方式)在 C# 中使用 C++ 属性联合