1
如何將C#字符串數組(字符串[])返回給非託管C++代碼,然後在C++中使用它?如何將C#字符串數組(字符串[])返回給非託管C++代碼?
// Is it correct ???
[ComVisible(true)]
public string[] Foo()
{
return new string[] {"A", "B", "C"};
}
C++代碼??
如何將C#字符串數組(字符串[])返回給非託管C++代碼,然後在C++中使用它?如何將C#字符串數組(字符串[])返回給非託管C++代碼?
// Is it correct ???
[ComVisible(true)]
public string[] Foo()
{
return new string[] {"A", "B", "C"};
}
C++代碼??
您應該定義一個要從非託管C++代碼使用的接口,可以作爲DLL導出接口使用,也可以作爲COM接口使用。 這樣你可以控制字符串是如何編組的。 (See MSDN Article on Default Marshaling)
另一種方法是在兩者之間使用C++/CLI,並以這種方式傳遞字符串。 (See C++/CLI on MSDN)
使用COM/OLE查看器查看您註冊COM時獲得的類型庫。這使您可以查看IDL,從中可以看到生成的類型。 – Richard 2009-10-22 10:58:04