ConditionalAttribute

作者:追风剑情 发布于:2019-5-6 18:13 分类:C#

示例:除非定义了相应的宏,否则忽略方法调用

  1. #define TOOL_B
  2.  
  3. using System;
  4. using System.Diagnostics;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8.  
  9. namespace ConsoleApp1
  10. {
  11. class Program
  12. {
  13. static void Main(string[] args)
  14. {
  15. Tools.FunA();
  16. Tools.FunB();
  17.  
  18. Console.Read();
  19. }
  20. }
  21.  
  22. public class Tools
  23. {
  24. [Conditional("TOOL_A")]
  25. public static void FunA()
  26. {
  27. Console.WriteLine("FunA");
  28. }
  29.  
  30. [Conditional("TOOL_B")]
  31. //[Conditional("CONDITION1"), Conditional("CONDITION2")]多个条件
  32. public static void FunB()
  33. {
  34. Console.WriteLine("FunB");
  35. }
  36. }
  37. }


运行测试
11111.png

原代码

  1. namespace System.Diagnostics
  2. {
  3. [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)]
  4. public sealed class ConditionalAttribute : Attribute
  5. {
  6. public ConditionalAttribute(string conditionString);
  7.  
  8. public string ConditionString { get; }
  9. }
  10. }

标签: C#

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号