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