Как вернуть массив строк C # (string []) в неуправляемый код C ++, а затем использовать его из C ++?
// Is it correct ??? [ComVisible(true)] public string[] Foo() { return new string[] {"A", "B", "C"}; }
C ++ код ??
Вы должны определить интерфейс, который будет использоваться из неуправляемого кода C ++, либо в качестве интерфейса экспорта DLL, либо в качестве интерфейса COM. Таким образом, вы можете контролировать, как строки маршалируются. ( См. Статью MSDN по умолчанию Marshaling )
Другим способом является использование C ++ / CLI между ними и передача строк таким образом. ( См. C ++ / CLI на MSDN )