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");
}
}
}
}
}