传递给c++ CLI的c#字符串

本文关键字:字符串 CLI c++ | 更新日期: 2023-09-27 18:08:50

没有看到我在S/O上寻找的东西。我有一个c#应用程序,需要传递值到一个c++ CLI应用程序(托管代码)。(我真的只需要弄清楚字符串传递)

c#中有
double xCoordinate = 4820.85;
double yCoordinate = 9792.93;
string stringName = "My string stuff";
abc.Highlight(xCoordinate, yCoordinate, stringName);

在c++/CLI中,我希望接收字符串(double似乎很好)

我读到以下内容

C++ --> std::wstring
or in C++  -->  extern "C" __declspec void GetString( char* buffer, int* bufferSize );
C# --> void GetString( StringBuilder buffer, ref int bufferSize );
也许

System::String^
const char *

?所以似乎我只是希望将字符串从c#发送到c++/CLI,虽然它看起来很简单,但我没有接受过c++培训,并且寻找互操作/编组的示例似乎并不那么微不足道。

传递给c++ CLI的c#字符串

如果你正在使用c++/CLI,你可以直接使用String:

void Highlight(double xCoordinate, double yCoordinate, String^ name)
{
    //...