C# 字符串传递给 C++ CLI

Tom*_*kel 5 c# c++-cli

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

C#我有

double xCoordinate = 4820.85;
double yCoordinate = 9792.93;
string stringName = "My string stuff";
abc.Highlight(xCoordinate, yCoordinate, stringName);
Run Code Online (Sandbox Code Playgroud)

在 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 );
Run Code Online (Sandbox Code Playgroud)

也许

System::String^
const char *
Run Code Online (Sandbox Code Playgroud)

? 因此,似乎我只是希望将字符串从 C# 发送到 C++/CLI,虽然它看起来很简单,但我没有接受过 C++ 的培训,并且找到 Interop/marshalling 的示例似乎并不那么简单。

Ree*_*sey 5

如果您使用的是 C++/CLI,则可以String直接使用:

void Highlight(double xCoordinate, double yCoordinate, String^ name)
{
    //...
Run Code Online (Sandbox Code Playgroud)