【发布时间】:2016-01-16 11:31:27
【问题描述】:
我正在尝试了解平台调用。所以,我理解了很多概念,但是如何在 c# 中调用 #define 指令。
例子:
在 C++ 方面我有这个:
#define dont_care_how_you_invoke_me (ptr)
我试过了:
[DllImport("mydll.dll")]
static extern void dont_care_how_you_invoke_me(IntPtr ptr);
这不起作用。我在谷歌上搜索了一段时间,找不到任何东西,所以我什至不确定这是否可能。
提前致谢
【问题讨论】:
-
因为 c# 没有你不能的预处理器。
-
为什么要“调用”预处理器宏?这些东西在编译期间被扩展,因此甚至不存在于生成的可执行文件中,就像内联函数一样,除了它们缺乏类型安全和其他一些东西。两者都不能从 C# 调用,因为它们并不是真正的函数,它们只是插入到函数调用所在位置的一堆指令。只需使用常规函数。