如何将C#字符串数组(string [])返回给非托管C ++代码,然后从C ++中使用它?
// Is it correct ???
[ComVisible(true)]
public string[] Foo()
{
return new string[] {"A", "B", "C"};
}
C ++代码??
答案 0 :(得分:0)
您应该从非托管C ++代码中定义要使用的接口,可以是DLL导出接口,也可以是COM接口。 这样您就可以控制字符串的封送方式。 (See MSDN Article on Default Marshaling)
另一种方法是在中间使用C ++ / CLI,并以这种方式传递字符串。 (See C++/CLI on MSDN)