如何在C#脚本中封送宏?
如果在C中有这样的宏:如何在C#脚本中封送宏?,c#,macros,interop,dllimport,C#,Macros,Interop,Dllimport,如果在C中有这样的宏: #define SLICE_VERSION 20110614 如何在C#脚本中使用此宏 我应该处理它吗?怎么做 我应该用C重新定义它吗?我知道C#没有#define宏,但也许我可以将它定义为一个静态变量 或者我可以参考一下吗 类似地,如果在C中有一个全局变量,如何在C#script中使用它 我看过从C/C++到C#的关于封送类、结构、数组、联合和许多其他内容的教程,但是我没有找到任何关于如何封送常量的提示。。。还是要我来处理?可以直接参考吗 顺便说一句,我发现这是一个
#define SLICE_VERSION 20110614
如何在C#脚本中使用此宏
我应该处理它吗?怎么做
我应该用C重新定义它吗?我知道C#没有#define宏,但也许我可以将它定义为一个静态变量
或者我可以参考一下吗
类似地,如果在C中有一个全局变量,如何在C#script中使用它
我看过从C/C++到C#的关于封送类、结构、数组、联合和许多其他内容的教程,但是我没有找到任何关于如何封送常量的提示。。。还是要我来处理?可以直接参考吗
顺便说一句,我发现这是一个关于Mono上互操作的非常好的教程:
我应该用C重新定义它吗
对。在C#中,您需要使用常量
:
const int SLICE_VERSION = 20110614;
尽管如此,我还是会经常将其重命名,使其更符合C标准:
const int SliceVersion = 20110614;
根据它的使用方式,您可能还希望显式地指定一个。此外,根据使用情况,您可能需要使用不同的类型(Int32可能不正确-您可能需要UInt32,等等)。C/C++中宏的一个缺点是它们不是强类型的,因此如果不了解用法,就无法知道此处所需的确切类型。谢谢!我会这样做的。调用函数需要一个uint,所以我将它定义为const uint。。。