.Net预处理器指令

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.

相关推荐

  1. .Net处理器指令

    2024-03-10 23:28:02       23 阅读
  2. C 语言中 #define 处理器指令

    2024-03-10 23:28:02       20 阅读
  3. C# 处理器指令详解与示例

    2024-03-10 23:28:02       13 阅读
  4. C语言之#define #if 处理器指令

    2024-03-10 23:28:02       7 阅读
  5. C++ 处理器

    2024-03-10 23:28:02       28 阅读
  6. CSS 处理器

    2024-03-10 23:28:02       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-10 23:28:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-10 23:28:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-10 23:28:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-10 23:28:02       20 阅读

热门阅读

  1. CSS、less、Sass、Scss、Stylus的认识

    2024-03-10 23:28:02       20 阅读
  2. Vue3中如何将一个div进行拖拽

    2024-03-10 23:28:02       22 阅读
  3. SpringBoot整合ActiveMQ步骤

    2024-03-10 23:28:02       19 阅读
  4. Kafka|处理 Kafka 消息丢失的有效措施

    2024-03-10 23:28:02       21 阅读
  5. Rust 语言的 println! 宏的格式占位符

    2024-03-10 23:28:02       19 阅读
  6. 代码随想录 贪心算法-简单题目

    2024-03-10 23:28:02       17 阅读
  7. Open vSwitch: 深入解析现代网络虚拟化的核心

    2024-03-10 23:28:02       22 阅读
  8. python的tqdm库不显示动态进度条的问题

    2024-03-10 23:28:02       23 阅读