我在C++函數返回指針值:遷移功能C++的指針,以C#
fPosFirst(int &aId, char *aNname, char *aDirectory);
我在C#語法是:
fPosFirst(ref int aId, String aNname, String aDirectory);
函數返回ID,但不任何人都知道的字符串參數?
我在C++函數返回指針值:遷移功能C++的指針,以C#
fPosFirst(int &aId, char *aNname, char *aDirectory);
我在C#語法是:
fPosFirst(ref int aId, String aNname, String aDirectory);
函數返回ID,但不任何人都知道的字符串參數?
假設本地函數沒有「返回指針」,而是將字符寫入由aNname和aDirectory指定的內存位置,您應該能夠將具有適當容量的StringBuilder傳遞給本機功能:
void fPosFirst(ref int aId, StringBuilder aNname, StringBuilder aDirectory);
用法:
var aId = 0;
var aNname = new StringBuilder(260);
var aDirectory = new StringBuilder(260);
fPosFirst(ref aId, aNname, aDirectory);
你需要做的字符串參數ref
或out
,如果你想在方法中分配給他們,並有可用的方法之外的值。
您需要在參數名稱前使用out
關鍵字(example)。但實際上,這在C#中不是很好的做法。
你能告訴我們你在C#中怎麼做才能調用C++函數? –
歡迎來到SO,我希望你閱讀[FAQ](http://stackoverflow.com/faq#howtoask)。 –