如何在C#脚本中编组宏?

时间:2012-04-07 20:24:09

标签: c# macros interop dllimport

如果你在C中有这样的宏:

 #define SLICE_VERSION 20110614

如何在C#Script中使用这个宏?

我应该整理吗?怎么样?

我应该在C#中重新定义吗?我知道C#没有#define宏,但我可以将它定义为一个静态变量。

或者我能以某种方式参考吗?

同样,如果你在C中有一个全局变量,你如何在C#脚本中使用它?

我已经看过关于编组类,结构,数组,联合以及许多其他东西从C / C ++到C#的教程,但是我还没有找到关于如何编组常量的任何提示......或者我不得不编组呢?可以直接提到吗?

BTW,我发现这是一个关于Mono互操作的非常好的教程:http://www.mono-project.com/Interop_with_Native_Libraries#Introduction

1 个答案:

答案 0 :(得分:2)

  

我应该在C#中重新定义吗?

是。在C#中,您需要使用const

const int SLICE_VERSION = 20110614;

话虽这么说,我会经常重命名,以使其更符合C#标准:

const int SliceVersion = 20110614;

根据其使用方式,您还希望明确指定access modifier。此外,根据用途,您可能希望使用不同的类型(Int32可能不正确 - 您可能需要UInt32等)。 C / C ++中宏的一个缺点是它们没有强类型,所以没有看到用法,就无法知道这里预期的确切类型。