如何在 C# 中初始化 sbyte*

How to initialize sbyte* in c#

我正在构建一个 c# 应用程序,在我的应用程序中,我加载了一个 c++/cli dll,并调用了它的函数。

我在我的 c++/cli class.

中声明了一个值 class
public value class S_OpenParam {
        public :
          int iPort;
          char* szIpAddress;
          int iBaudRate;
};

然后,我尝试在我的 C# 应用程序中初始化我的 S_OpenParam。

我在初始化 char* szIpAddress

时遇到问题
myObj.S_OpenParam sParam;
sParam.iBaudRate = 0;
sParam.iPort = 0;

当我尝试为其赋值时:

sParam.szIpAddress = "127.0.0.1";

显示类型是sbyte*

你知道怎么初始化吗?

既然你在 C++/CLI dll 中,为什么不使用 String^ 而不是 char*,这样你就可以毫无问题地从 c# 更新它?

public value class S_OpenParam {
        public :
          int iPort;
          String^ szIpAddress; <-- String^ instead of char*
          int iBaudRate;
};