天天看点

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

继续阅读