一.引入 最近遇到一个项目里面的功能,在给实体类赋值的时候,由于赋值字段是动态生成的,所以如果用常用的方法(直接实体类的名称.字段名=要赋的值),将会生成很多无用的代码,所以找到了一个通过反射的赋值与取值的方法,顺便总结一下,以及对比一下与Python语言同样实现该功能的区别之处. 二.C# 1.赋值 2.取值 3.源码 using System; using System.Collections.Generic; using System.Linq; using System.Reflecti
工作中有这样一个需求,有N张不同的报表,每张报表对应一个数据源,统计数据采用内存方式,首先在内在里定义了数据源对应实体.统计条件用lamdba表达式式实现,通过工具对单元格进行定义.在实现过程中针对每一张表来写取数显示是很Low的了,取数条件定义都是规则的,统计实现就是一段C#代码,但是要针对不同的数据源也就是不同的List<Entity>,通过研究发现通过泛型和反射可以实现. 根据字符串获取实体类型 private Type getEntity(string typeName) { var
情景: 目前有两个实体类:Student,ClassInfo. public class Student { public string Name { get; set; } public string Sex { get; set; } public string Age { get; set; } } public class Classinfo { public string Subject { get; set; } public int Score { get; set; } } St