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

时间:2010-01-26 18:48:04

标签: .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

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

1 个答案:

答案 0 :(得分:1)

你无法做到这一点。 P / Invoke marshaller不支持返回结构的函数。