.net - 在 C++ 中重载运算符,然后在 VB.NET 中导出和导入

标签 .net c++ vb.net dll

大家好,我有一个奇怪的情况。我有一个 C++ 代码,它重载 +、-、* 运算符并将它们导出到 .DLL 文件中。现在,我想从 VB.NET 代码中导入那些重载的运算符。所以它应该是这样的:

 <DllImport("StructDLL.dll")> Public Shared Function 
 Operator +(ByVal a1 As A, ByVal a2 As A) As A
End Function

所以我在上面尝试做的只是从 DLL 中导入可爱的重载运算符 +。

请注意,运算符已经从 DLL 内部重载,所以我应该将其作为函数还是像这样作为运算符导入?

 <DllImport("StructDLL.dll")> Public Shared 
  Operator +(ByVal a1 As A, ByVal a2 As A) As A
  End Operator

重载的加号运算符应该添加结构。所以 DLL 被编程为在结构 (C++) 上工作,我想将它导入 VB.NET 以在结构上工作。

最佳答案

你无法完成这项工作。 P/Invoke 编码器不支持返回结构的函数。

关于.net - 在 C++ 中重载运算符,然后在 VB.NET 中导出和导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2141748/

相关文章:

c++ - 数组而不是 vector 的 vector ,元素的 push_back()。 C++

c# - document.readyState == "complete"始终为假。状态始终为 "interactive"

asp.net - VimService55.XmlSerializers.dll 中发生类型 'System.StackOverflowException' 的未处理异常

c# - 将WAV文件转换为字节数组会降低音频速度

c# - Coldfusion 在实例化 .Net 引用时缺少错误信息

C#:检测是否在 Windows 和 Mono 中以 super 用户身份运行

C++ 什么是 NULL 指针值?

c++ - 为什么标准库常用数学函数不是 "constant expressions"?

.net - 是否有下划线(_)行继续的相反?

c# - 以编程方式更改 Windows 10 锁屏背景(在桌面上)