首页 > 其他 > 详细

Conditional特性用法

时间:2014-06-25 18:25:33      阅读:446      评论:0      收藏:0      [点我收藏+]

  说明:根据预处理标识符执行方法。Conditional 特性是 ConditionalAttribute 的别名,可应用于方法或属性类。相对于#if和#endif,更灵活更简洁和不易出错。
例如:

#define CONDITIONA

using System;
using System.Collections.Generic;
using System.Diagnostics;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Test1();
            Test2();
            Console.ReadKey();
        }

        [Conditional("CONDITIONA")]
        public static void Test1()
        {
            Console.WriteLine("Test1");
        }

        public static void Test2()
        {
            Console.WriteLine("Test2");
        }
    }
}

  这时Test1和Test2都将被执行,如果注释掉#define CONDITIONA,Test1将不会被执行。
  也可以同时定义多个Conditional特性,这时多个特性之间的关系为或:

class Program
    {
        static void Main(string[] args)
        {
            Test1();
            Test2();
            Console.ReadKey();
        }

        [Conditional("CONDITIONA"), Conditional("CONDITIONB")]
        public static void Test1()
        {
            Console.WriteLine("Test1");
        }

        public static void Test2()
        {
            Console.WriteLine("Test2");
        }
    }
 如果要获得逻辑与效果,需要将所需执行代码全部放到Test2中执行:
class Program
    {
        static void Main(string[] args)
        {
            Test1();
            Console.ReadKey();
        }

        [Conditional("CONDITIONA")]
        public static void Test1()
        {
            Test2();
        }
        [Conditional("CONDITIONB")]
        public static void Test2()
        {
            Console.WriteLine("Test1");
            Console.WriteLine("Test2");
        }
    }

Conditional特性用法,布布扣,bubuko.com

Conditional特性用法

原文:http://www.cnblogs.com/infly123/p/3806053.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!