美文网首页
c# Attribute 特性

c# Attribute 特性

作者: 独步江雪 | 来源:发表于2021-01-19 11:54 被阅读0次

    https://www.cnblogs.com/zhaoyl9/p/12027938.html

    using System;
    using System.Linq;
    using System.Reflection;
    using System.Reflection.Emit;
    
    namespace ConsoleApp
    {
        class ValidatorAttribute : Attribute
        {
            public bool use = false;
        }
    
        class Test
        {
            [ValidatorAttribute(use = true)] public string a = "aa";
            [ValidatorAttribute(use = false)] public string b = "bb";
            public string c = "cc";
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                var t = new Test();
    
                foreach (var e in t.GetType().GetFields())
                {
                    var attrs = e.GetCustomAttributes().Where(e1 => (e1 as ValidatorAttribute) != null).ToList();
                    if (attrs.Any())
                    {
                        Console.WriteLine($"{e.Name} use valid :{((ValidatorAttribute) attrs[0]).use}");
                    }
                    else
                    {
                        Console.WriteLine($"{e.Name} use valid :null");
                    }
                }
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:c# Attribute 特性

          本文链接:https://www.haomeiwen.com/subject/iruqzktx.html