没有看到我在 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 的示例似乎并不那么简单。
如果您使用的是 C++/CLI,则可以String直接使用:
void Highlight(double xCoordinate, double yCoordinate, String^ name)
{
//...
Run Code Online (Sandbox Code Playgroud)