admin管理员组

文章数量:1130349

反射配合特性简单案例,附带一些阿猫阿狗

反射类:

public class ColumnInfoAttribute : Attribute{public ColumnInfoAttribute(string name){this.Name = name;}public string Name { get; set; }public bool Visible { get; set; } = true;public int Number { get; set; }}

实体类:

public class STORM {[ColumnInfo("号码")]public int ID { get; set; }[ColumnInfo("名称")]public string NAME { get; set; }     }

控制台主函数:

internal class Program{static void Main(string[] args){List<STORM> SList = new List<STORM>(){new STORM() { ID = 1, NAME = "AA" },new STORM() { ID = 2, NAME = "AAA" }};var list= SList.Select(p => p.ID);var list22=list.Select(p => $"'{p}'");//$"[{ p.Name}]=@{p.Name}"var list22222 = SList.Select(p => $"[{p.ID}]=@{p.ID}");Object _object=new STORM();STORM STORM = (STORM)_object;var A = typeof(STORM).GetProperty("ID");var W = A.GetCustomAttributes(typeof(ColumnInfoAttribute), false);if (W.Count() > 0){string aaaa = ((ColumnInfoAttribute)W[0])?.Name.ToString();bool lll = ((ColumnInfoAttribute)W[0]) != null ? ((ColumnInfoAttribute)W[0]).Visible : true;}Console.WriteLine($"调用方法(主线程)结束 ThreadId:{Thread.CurrentThread.ManagedThreadId}");Console.ReadLine();}private static  async void CODEUP(string code){Console.WriteLine($"被调用方法开始 ThreadId:{Thread.CurrentThread.ManagedThreadId}");await Task.Delay(2500);//直接出去Console.WriteLine($"被调用方法结束 ThreadId:{Thread.CurrentThread.ManagedThreadId}");}}

反射配合特性简单案例,附带一些阿猫阿狗

反射类:

public class ColumnInfoAttribute : Attribute{public ColumnInfoAttribute(string name){this.Name = name;}public string Name { get; set; }public bool Visible { get; set; } = true;public int Number { get; set; }}

实体类:

public class STORM {[ColumnInfo("号码")]public int ID { get; set; }[ColumnInfo("名称")]public string NAME { get; set; }     }

控制台主函数:

internal class Program{static void Main(string[] args){List<STORM> SList = new List<STORM>(){new STORM() { ID = 1, NAME = "AA" },new STORM() { ID = 2, NAME = "AAA" }};var list= SList.Select(p => p.ID);var list22=list.Select(p => $"'{p}'");//$"[{ p.Name}]=@{p.Name}"var list22222 = SList.Select(p => $"[{p.ID}]=@{p.ID}");Object _object=new STORM();STORM STORM = (STORM)_object;var A = typeof(STORM).GetProperty("ID");var W = A.GetCustomAttributes(typeof(ColumnInfoAttribute), false);if (W.Count() > 0){string aaaa = ((ColumnInfoAttribute)W[0])?.Name.ToString();bool lll = ((ColumnInfoAttribute)W[0]) != null ? ((ColumnInfoAttribute)W[0]).Visible : true;}Console.WriteLine($"调用方法(主线程)结束 ThreadId:{Thread.CurrentThread.ManagedThreadId}");Console.ReadLine();}private static  async void CODEUP(string code){Console.WriteLine($"被调用方法开始 ThreadId:{Thread.CurrentThread.ManagedThreadId}");await Task.Delay(2500);//直接出去Console.WriteLine($"被调用方法结束 ThreadId:{Thread.CurrentThread.ManagedThreadId}");}}

本文标签: 反射配合特性简单案例附带一些阿猫阿狗