Передача Hashtable в неуправляемый код с помощью взаимодействия - PullRequest
3 голосов
/ 08 ноября 2010

Как я могу передать HashTable в .net на c ++ с помощью взаимодействия?

Я знаю, как передавать примитивные типы, но мне нужно знать, как я могу передавать другие.

Ответы [ 2 ]

4 голосов
/ 08 ноября 2010

Вы не можете передать весь объект, который будет использоваться в качестве хеш-таблицы в C ++.P / invoke переводит тип .NET к типу, который C ++ может понять.Например, String преобразуется в LPWSTR (wchar_t *).Однако он не может преобразовать что-то вроде HashSet таким образом.

0 голосов
/ 08 ноября 2010

Вы не можете.

Не существует типа параметра C ++, в который вы можете передать Hashtable (кроме void*, который не принесет вам никакой пользы)

Вместо этого вам нужно создать C ++ struct для хранения информации в hashtable, перенести struct в C #, затем маршалировать struct.

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