Как вернуть массив строк C # (string []) в неуправляемый код C ++? - PullRequest
1 голос
/ 22 октября 2009

Как вернуть массив строк C # (string []) в неуправляемый код C ++, а затем использовать его из C ++?

// Is it correct ???
[ComVisible(true)]
public string[] Foo()
{
    return new string[] {"A", "B", "C"};    
}

C ++ код ??

1 Ответ

0 голосов
/ 29 января 2010

Вы должны определить интерфейс, который будет использоваться из неуправляемого кода C ++, либо в качестве интерфейса экспорта DLL, либо в качестве интерфейса COM. Таким образом, вы можете контролировать, как строки маршалируются. ( См. Статью MSDN по умолчанию Marshaling )

Другим способом является использование C ++ / CLI между ними и передача строк таким образом. ( См. C ++ / CLI на MSDN )

...