2012-04-07 72 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