5

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

C# 我有

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

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

我阅读了以下内容

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++ 培训,并且查找 Interop/marshalling 的示例似乎并不那么简单。

4

1 回答 1

5

如果你使用 C++/CLI,你可以String直接使用:

void Highlight(double xCoordinate, double yCoordinate, String^ name)
{
    //...
于 2013-04-13T00:08:50.657 回答