zoukankan      html  css  js  c++  java
  • Conditional特性用法

      说明:根据预处理标识符执行方法。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");
            }
        }
    
    
  • 相关阅读:
    ESlint中console.log报错问题
    for、forEach、for in、for of用法
    如何覆盖elementUI样式
    什么是闭包(closure),为什么要用它?
    写一个通用的事件侦听器函数
    javascripts 浅拷贝和深拷贝
    箭头函数
    用 async/await 来处理异步
    DOM事件类
    arguments 详解
  • 原文地址:https://www.cnblogs.com/infly123/p/3806053.html
Copyright © 2011-2022 走看看