C# Conditional 特性

Conditional 特性简介

Conditional 特性允许我们包括或排斥特定方法的所有调用。为方法声明应用 Conditional 特性并把编译符作为参数来使用。

  • 如果定义了编译符号,那么编译器会包含所有调用这个方法的代码,这和普通方法没有区别。
  • 如果没有定义编译符号,那么编译器会忽略代码中这个方法的所有调用。

Conditional 代码示例

以下示例定义了一个 SayHello() 方法,并应用了 Conditional 特性,编译符号为 Do。并在第一行定义了编译符号 #define Do

#define Do//此处定义了编译符号 Do
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace AttributeDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            SayHello();//此处调用应用了 Conditional 特性的方法
            Console.WriteLine("hangzhou");
            Console.ReadKey();
        }

        [Conditional("Do")]
        static void SayHello()
        {
            Console.WriteLine("hello");
        }
    }
}

输出


hello
hangzhou


取消第一行定义的编译符号

//此处取消编译符号 Do 的定义
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace AttributeDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            SayHello();
            Console.WriteLine("hangzhou");
            Console.ReadKey();
        }

        [Conditional("Do")]
        static void SayHello()
        {
            Console.WriteLine("hello");
        }
    }
}

输出


hangzhou


你可能感兴趣的:(C#实践)