Я загружаю C ++ / CLI-оболочку dll в свое программное обеспечение C # и мне нужны некоторые параметры char * для базовой нативной C ++ DLL!
Я обнаружил, что мне нужно передать StringBuilder для сохранения ответа безполучить некоторые нарушения прав доступа?!
C #
StringBuilder sB = new StringBuilder();
WrapperClass wC = new WrapperClass();
wC.Function(sB);
C ++ / CLI
void WrapperClass::Function(StringBuilder ^sB)
{
nativeObject->Function(charString); // need the marshaled sB
}
C ++
void NativeObject::Function(char *charString)
{
// do something and save answer to charString
}
Как можно использовать StringBuilder и маршалировать его в char * и обратно, чтобы сохранить ответ нативной функции?