从事一个业余爱好项目,将旧的 C 应用程序转换为 C#。
在 C 语言中,他们会像这样定义常量/别名:
#define args( list ) list
#define DECLARE_DO_FUN( fun ) DO_FUN fun
#define DECLARE_SPEC_FUN( fun ) SPEC_FUN fun
#define DECLARE_SPELL_FUN( fun ) SPELL_FUN fun
void init_descriptor args( ( int control ) );
bool read_from_descriptor args( ( DESCRIPTOR_DATA *d ) );
bool write_to_descriptor args( ( int desc, char *txt, int length ) );
C# 中的等价物是什么?
由于我不再热衷于 Ansi-C(上次是 90 年代中期),需要其他人帮助进行一些签名转换。
最佳答案
C# 中没有宏这样的东西,这是有充分理由的。也没有相应的功能。用宏思考意味着不要用 C# 和/或 OOP 思考。所以不要这样做
#define args( list ) list
你会做类似的事情
public class MyHelpers
{
public static T Args<T>(T list)
{
return list;
}
}
然后像这样使用它
SomeType result = MyHelpers.Args(someObject);
关于c# - C 别名到 C# 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16599497/