2
我正在構建一個c#應用程序,在我的應用程序中,我加載一個C++/cli dll,並調用它的函數。如何初始化sbyte *在c#
我已經在我的C++/cli類中聲明瞭一個值類。
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#中的szIpAddress的acutal類型?我的意思是,它期待什麼? – nozzleman
只是不這樣做! C#是一種完全現代化的語言,它不會讓你用這些古老的8位編碼來吊死你自己。任何聲明爲'public'的東西都必須使用'String ^'而不是'char *'。如果有必要,它取決於您的C++/CLI代碼將該System :: String轉換爲傳統編碼。不需要這麼做也很容易,編碼一個8位字符串的IP地址是25年前你不得不做的。我們今天進入了21世紀。 –