[问题] 请问这几段C++的语法怎么改成C#?

楼主: ab710912 (Leanne)   2020-06-11 12:55:14
简单说呢..就是教授最近拿出一个古老学长写得的程式然后是C++写的
要我把阿改成C# 怎么改啊!!!!
第一个是 这个
typedef void (__stdcall *fp_ABFL1dllTYPE)(double &,double &,double *,long
&,double &,double &,double &,double &,double &,double &,long &,char*,long );
fp_ABFL1dllTYPE ABFL1dll;
好像是在自定型别?
但是C#自订型别好像是Class或是struct
但是都要先先给他一个命名?
public struct newtype
{
public int x, y;
public newtype(int p1, int p2)
{
x = p1;
y = p2;
}
}
C++好像没有这个?
还有我看不懂 double &和 double * 是什么
第二个是
HINSTANCE RefpropdllInstance;
RefpropdllInstance = LoadLibrary(L"./refprop.dll");
ABFL1dll = (fp_ABFL1dllTYPE) GetProcAddress(RefpropdllInstance,"ABFL1dll");
好像是在引用dll 但是好像C#没办法用他的dll...
另外问 是用dllImport吗?
作者: laikyo (六元)   2020-06-11 13:02:00
作者: james732 (好人超)   2020-06-11 20:34:00
第一个叫做function pointer. double *是pointer,double &是referenceC#类似function pointer的是delegate
作者: s4300026 (s4300026)   2020-06-13 13:11:00
第一个是delegate, newtype可以用point, &对应是c# 的ref, c#对class 的传递是用*, double* 可以用阵列[], c#dll import 我不会,我都用c++/clr直接把c++的东西包一层
作者: name2name2 (yang~hi)   2020-06-15 20:34:00
我有用这篇大大题到的资讯试了有成功 楼主还有问题也可以再提出看看

Links booklink

Contact Us: admin [ a t ] ucptt.com