如果你在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
答案 0 :(得分:2)
我应该在C#中重新定义吗?
是。在C#中,您需要使用const
:
const int SLICE_VERSION = 20110614;
话虽这么说,我会经常重命名,以使其更符合C#标准:
const int SliceVersion = 20110614;
根据其使用方式,您还希望明确指定access modifier。此外,根据用途,您可能希望使用不同的类型(Int32可能不正确 - 您可能需要UInt32等)。 C / C ++中宏的一个缺点是它们没有强类型,所以没有看到用法,就无法知道这里预期的确切类型。