2010-01-26 56 views
1

你好,我有一個奇怪的情況。我有一個C++代碼,它重載了+, - ,*運算符並將它們導出爲.DLL文件。現在,我想從VB.NET代碼中導入那些重載的運算符。所以它應該是這樣的:在C++中重載操作符,然後在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中導入它以處理結構。

+0

你試過了嗎? – 2010-01-26 19:06:30

+0

是的,在該實施中沒有起作用。不管怎樣,這是一個實驗。 – Orca 2010-01-27 10:10:35

回答

1

你不能使這項工作。 P/Invoke編組器不支持返回結構的函數。