这是在C中给我的:
CDCAInput := PTCDCAInput(@CDCAr);
我只被告知: 函数使用结构TCDCAInput的指针来传递事务所需的其他输入字段。它将指向的缓冲区将被填充以响应CDCAResult结构。
我认为@CDCAr是CDCAResult结构的一个实例。但并不完全确定整行代码的含义。
对于像我这样不懂C的人......我无法想象如何在C#中编写它的等价物。
非常感谢任何帮助。 感谢
答案 0 :(得分:1)
我不知道C#所以我无法完全回答这个问题,但可以解释一些可能有帮助的事情......
Pascal和Delphi中的常见惯例是命名以“T”开头的结构化类型(记录和类)。另一种惯例是命名以“P”开头的指针类型。
使用这些约定,可能有一个名为TCDCAInput
的Record(如C结构)类型,以及一个名为PTCDCAInput
的类型,声明为指向TCDCAInput
的指针。
@
是Pascal的“地址”运算符,它给出变量的地址。
Pascal类型转换具有如下语法:TypeName(VariableName)
总的来说,这一行:
CDCAInput := PTCDCAInput(@CDCAr);
表示:将CDCAr
变量的地址强制转换为PTCDCAInput
类型,并将该值分配给CDCAInput
变量。