the important thing is not to stop questioning

导航

 

指示编译器应忽略方法调用或属性,除非已定义指定的条件编译符号。

#define CONDITION1
#define CONDITION2
using System;
using System.Diagnostics;

class Test
{
    static void Main()
    {              
        Console.WriteLine("Calling Method1");
        Method1(3);
        Console.WriteLine("Calling Method2");
        Method2();

        Console.WriteLine("Using the Debug class");
        Debug.Listeners.Add(new ConsoleTraceListener());
        Debug.WriteLine("DEBUG is defined");
    }

    [Conditional("CONDITION1")]
    public static void Method1(int x)
    {
        Console.WriteLine("CONDITION1 is defined");
    }

    [Conditional("CONDITION1"), Conditional("CONDITION2")] 
    public static void Method2()
    {
        Console.WriteLine("CONDITION1 or CONDITION2 is defined");
    }
}

/* When compiled as shown, the application (named ConsoleApp) produces the following output. Calling Method1 CONDITION1 is defined Calling Method2 CONDITION1 or CONDITION2 is defined Using the Debug class DEBUG is defined */

posted on 2016-05-18 10:13  qook  阅读(152)  评论(0编辑  收藏  举报