如何将C#字符串数组(string [])返回到非托管C ++代码?

时间:2009-10-22 10:10:27

标签: c# .net com interop

如何将C#字符串数组(string [])返回给非托管C ++代码,然后从C ++中使用它?

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

C ++代码??

1 个答案:

答案 0 :(得分:0)

您应该从非托管C ++代码中定义要使用的接口,可以是DLL导出接口,也可以是COM接口。 这样您就可以控制字符串的封送方式。 (See MSDN Article on Default Marshaling

另一种方法是在中间使用C ++ / CLI,并以这种方式传递字符串。 (See C++/CLI on MSDN