我想在 win32 (C++) 中使用 VB.NET 代码(我不想转换我的代码)。我听说过在 COM 中包装 VB 代码,但我不知道该怎么做。另外,我不知道是否有替代(或更好)的方式来移植代码。
任何帮助表示赞赏。
更新:我在vb中创建了一个类库,并将comvisible属性设置为true后将其保存为dll,然后将其导入我的c++项目并通过COM访问接口
*谢谢大家帮助我!!!!!!!*
您不能直接从本机 C++ 应用程序调用 .NET 代码,因此需要进行一些工作。
当然,您的问题让我们猜测您为什么要这样做,但除非您仍将使用 .NET 应用程序中的库,否则我将强烈支持移植它(如您的标题建议)到 C++。
但是,如果您不想这样做,您还有其他几个选择:
使用 C++/CLI 围绕 VB.NET 代码编写一个包装器。这可能是更简单的解决方案,特别是如果您相当熟悉 VB.NET 和 C++ 语言。
<ComVisible(true)>
使用属性将所需的 VB.NET 方法公开为 COM 函数。这将有点棘手,特别是如果您对 C++ 中的 COM 编程感到不舒服或不熟悉。在堆栈溢出答案中解释太多了;调查购买一本关于 COM 编程的好书。尽管您使用的是 VB.NET,但 C# 的步骤基本相同,因此您会更幸运地找到示例。