Перегрузка операторов в C ++, экспорт и импорт затем в VB.NET - PullRequest
1 голос
/ 26 января 2010

Привет всем, у меня странная ситуация. У меня есть код 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 для работы со структурами.

1 Ответ

1 голос
/ 26 января 2010

Вы не можете сделать эту работу.Маршаллер P / Invoke не поддерживает функции, которые возвращают структуры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...