.Net反射
序言
通过代码实现反编译
反射存在的意义
反射是什么呢?反射是动态获取程序集的元数据(metadata)的一种技术。反射是.NetFramework类库提供的帮助类,动态加载dll实现程序的可配置可扩展。
个人认为反射最突出的优点或存在的合理性:在不修改程序原码的情况下,实现程序功能的动态调整(Runtime动态对象创建)
反射实际用途
智能提示
反射最重要的用途就是开发各种通用框架。
插件开发
System.Reflection Assembly a = Assembly.LoadFile(dirStr); Type t = a.GetType(classStr) object obj = Activator.CreateInstance(type,new object[] { "沐风" });//使用具有一个参数的构造函数创建一个实例 相当于New
反射与泛型结合 深拷贝

public M ObjectDeepCopy<M>(M inM) { Type t = inM.GetType(); M outM = (M)Activator.CreateInstance(t); foreach (PropertyInfo p in t.GetProperties()) { t.GetProperty(p.Name).SetValue(outM, p.GetValue(inM)); } return outM; }
DataTable转换成数据实体集

public static List<T> TableToEntity<T>(DataTable table) where T : class { if (table == null || table.Rows.Count == 0) { return null; } var propertys = typeof(T).GetProperties().Where(p => table.Columns.Contains(p.Name)).ToList(); var list = new List<T>(table.Rows.Count); table.AsEnumerable().ToList().ForEach(r => { var model = Activator.CreateInstance<T>(); propertys.ForEach(p => { if (r[p.Name] is DBNull) { return; } p.SetValue(model, ChangeType(r[p.Name], p.PropertyType), null); }); list.Add(model); }); return list; }
ORM框架-结合SqlSugar
资料
https://www.cnblogs.com/Stephenchao/p/4481995.html
https://www.cnblogs.com/chanshuyi/p/head_first_of_reflection.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2016-01-29 Web桌面端