См. Здесь пример: http://haroonsaeed.wordpress.com/2006/08/11/interop-managed-c-and-c/
не сделал это сам, но по предположению:
в C # создать сборку csharpassembly.dll со следующим классом
using System;
namespace Csharpassembly {
public class CSharpClass {
public static string[] GetStrings() {
return new string[] {"1", "2", "3"}));
}
}
}
Но в вашем случае. Иметь сборку, которая создает массив в c #, и иметь программу mC ++, которая ссылается на эту сборку и вызывать ее:
#include "stdafx.h"
#using <mscorlib.dll>
#using "csharpassembly.dll"
using namespace System;
using namespace Csharpassembly
__gc class Test {
public:
static void ProcessCShaperStrings() {
array^ stringArray = CSharpClass::GetStrings();
Console::WriteLine(stringArray [0]); ...
// etc
}
};
int wmain(void) {
Test:: ProcessCShaperStrings();
return 0;
}