Передача пользовательских объектов между C # и неуправляемым C ++ - PullRequest
0 голосов
/ 25 января 2009

У меня есть устаревшая DLL, которая содержит несколько методов, которые мне нужно вызывать из кода C #. Один из этих методов получает указатель на другой класс C ++, который находится в других программах C ++, а не в DLL.

Я почти уверен, что мне нужно использовать pinvoke для маршалинга объектов туда-сюда, но я не нашел ничего о маршалинге пользовательских объектов.

Как лучше всего это сделать?

Ответы [ 3 ]

1 голос
/ 27 января 2009

Я бы посмотрел на C ++ / CLI, хотя COM-взаимодействие может быть проще в зависимости от формы вашего кода C ++.

1 голос
/ 25 января 2009

Вы уверены, что это класс, а не структура? В конце концов, разные компиляторы могут по-разному размещать класс в памяти, что может нарушить целевую DLL.

Рассматривали ли вы использование оболочки Managed C ++?

0 голосов
/ 27 марта 2009

если только несколько методов используют swig

...