首页 > 其他 > 详细

条件特性类

时间:2018-04-29 20:12:51      阅读:178      评论:0      收藏:0      [点我收藏+]

 

 

//如果没有定义 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");
        }
    }
}

 

条件特性类

原文:https://www.cnblogs.com/refuge/p/8971711.html

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