0
点赞
收藏
分享

微信扫一扫

.Net预处理器指令

老王420 03-10 19:00 阅读 2

1.最常用的预处理器指令#region #endregion,来定义可在大纲中折叠的代码区域.

#region MyClass def
public class MyClass
{
    static void Main()
    {
    }
}
#endregion

2.定义符号预处理器指令:来定义或取消定义条件编译的符号:

#define:定义符号。

#undef:取消定义符号。

3.条件预处理器指令:#if,#elif, #else,endif.

可以在代码文件的顶部通过#define/#undef 指令定义符号,用于指定程序代码编译的条件,可以使用 #if 、#elif 、#endif来测试符号.

当您将#define定义的符号用作传递给 #if 指令的表达式时,此表达式的计算结果为 true,将#undef定义的符号用作传递给 #if 指令的表达式时,此表达式的计算结果为 false.

符号可用于指定编译的条件。 可通过 #if 或 #elif 测试符号。 还可以使用 ConditionalAttribute 来执行条件编译,如下例所示:


#define CalledTestM1
#undef CalledTestM2

#define DEBUG
#undef TRACE

using System;

public class TestDefine
{
    static void Main()
    {
        //调用TestConditionalM1
        TestConditionalM1();
        //不调用TestConditionalM2
        TestConditionalM2();

#if (DEBUG)
        Console.WriteLine("Debugging is enabled.");
#endif

#if TRACE
     Console.WriteLine("Tracing is enabled.");
#endif
    }

    [Conditional("CalledTestM1")]
    static void TestConditionalM1() { Console.WriteLine("Conditional M1 is Called"); }
    [Conditional("CalledTestM2")]
    static void TestConditionalM2() { Console.WriteLine("Conditional M2 is Called"); }
}
// Output:
// Conditional M1 is Called
// Debugging is enabled.

举报

相关推荐

0 条评论