条件特性类

Posted 努力决定下限

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条件特性类相关的知识,希望对你有一定的参考价值。

 

 

//如果没有定义 wjire 或者 refuge,
//编译器不会再元数据中生成特性信息,也就是说利用反射找不到特性信息
//但是,特性类的定义元数据和实现仍在程序集中
//#define wjire
#define refuge

using System;
using System.Diagnostics;
using System.Reflection;

namespace Test3
{
    [Cond]
    class Program
    {
        static void Main(string[] args)
        {
            //条件特性类
            var flag = CustomAttributeExtensions.IsDefined(typeof(Program), typeof(CondAttribute));
            Console.WriteLine(flag);

            var cond = CustomAttributeExtensions.GetCustomAttribute(typeof(Program), typeof(CondAttribute));
            Console.WriteLine(cond?.GetType());
            Console.ReadKey();
        }
    }


    [Conditional("wjire")]
    [Conditional("refuge")]
    class CondAttribute : Attribute
    {
        public CondAttribute()
        {
            Console.WriteLine("this is ctor");
        }
    }
}

 

以上是关于条件特性类的主要内容,如果未能解决你的问题,请参考以下文章

条件片段和导航重用

4.3 合并重复的条件执行片段

如何有条件地将 C 代码片段编译到我的 Perl 模块?

自动刷新android片段,直到满足条件

SQL Prompt7.2下载及破解教程

Java中面向对象的三大特性之封装