2012-04-07 64 views
0

如果您在C这样的宏:如何编组C#脚本中的宏?

#define SLICE_VERSION 20110614 

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

我应该管理它吗?怎么样?

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

或者我可以参考它吗?同样,如果你在C中有全局变量,你如何在C#脚本中使用它?

我已经看到有关编组类,结构,数组,联合和从C/C++到C#的其他许多事情的教程,但是我一直无法找到任何有关编组常量的提示......或者,我要整理它?它可以直接引用吗?

BTW,我发现这个约interopping Mono上一个很好的教程:在C#http://www.mono-project.com/Interop_with_Native_Libraries#Introduction

回答

2

我应该重新界定呢?

是的。在C#中,你想使用一个const

const int SLICE_VERSION = 20110614; 

话虽这么说,我会经常进行重命名,使其更具C# - 标准,以及:

const int SliceVersion = 20110614; 

根据如何它正在被使用,你也希望明确指定一个access modifier。此外,根据使用情况,您可能需要使用其他类型(Int32可能不正确 - 您可能需要UInt32等)。 C/C++中的宏的一个缺点是它们不是强类型的,所以没有看到用法,就没有办法知道这里预期的确切类型。

+0

谢谢!我会这样做。调用函数期望一个uint,所以我将它定义为一个const uint ... – CherryQu 2012-04-08 00:02:19