如何在 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;
};
我正在构建一个 c# 应用程序,在我的应用程序中,我加载了一个 c++/cli dll,并调用了它的函数。
我在我的 c++/cli class.
中声明了一个值 classpublic 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;
};