将c / c ++宏转换为c#中的等效代码

时间:2013-10-17 18:25:10

标签: c# c++ c macros

PLZ,我需要帮助,我怎样才能将c#中的等效代码作为这个宏获得c / c ++中的任何宏代码。

#define BYTESWAP16(x)                   \
    ((((x) >> 8) & 0x00FF) | (((x) << 8) & 0xFF00))
#define BYTESWAP32(x)                   \
    ((((x) >> 24) & 0x000000FF) | (((x) >> 8) & 0x0000FF00) | \
     (((x) << 8) & 0x00FF0000) | (((x) << 24) & 0xFF000000))
#define ntohs(x)                        BYTESWAP16(x)
#define htons(x)                        BYTESWAP16(x)
#define ntohl(x)                        BYTESWAP32(x)
#define htonl(x)                        BYTESWAP32(x)

2 个答案:

答案 0 :(得分:6)

您可以使用IPAddress.HostToNetworkOrderIPAddress.NetworkToHostOrder执行这些操作。这些内置于框架中。

答案 1 :(得分:0)

您可以使用静态方法定义一个密封的抽象类,它将与您的宏一样。