标签: c# compilation c-preprocessor
我想知道如果我在代码中使用#if指令编译我的代码。 我想创建我的应用程序的特殊版本(商业演示版),我想限制我的应用程序的功能。我宁愿避免混淆,只是不想将我编译的所有代码都添加到可执行文件中。我需要解决方案拒绝在反汇编过程中预览我的代码。我可以使用#if指令进行变体编译,而不是为禁用代码部分进行注释吗?
#if
答案 0 :(得分:6)
使用#if指令就像在c ++中使用预处理器一样,如果条件未满足(在编译时),代码就不会出现。来自MSDN:
当C#编译器遇到#if时 指令,最后是一个 #endif指令,它只会在指令之间编译代码 指定的符号已定义。 与C和C ++不同,您无法分配 符号的数值; #if C#中的语句仅为布尔值 测试符号是否已经过 定义与否。
#endif
答案 1 :(得分:2)
作为@ ohadsc答案的补充:您可以随时查看Reflector编译器实际生成的内容。