大家好,我有一个奇怪的情况。我有一个 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/