C#反射时合理使用“字典”加速“对象”的Set,Get

通常在我们使用C#时,对象的属性进行赋值或者取值时会使用到反射-“System.Reflection”。

反射:在程序运行时,动态获取程序集,类型(class,interface)和类型的成员信息(方法,字段,属性等)。在程序运行时,动态创建 类型实例, 以及调用和方法动态创建出来的类型实例的成员。


程序集

但由于反射的机制,当我们在对对象集合使用反射进行GET,SET的时候会消耗大量时间,从而引进“字典”来改善这一问题:

第一步:声明所谓的字典“Hashtable”

private static readonly Hashtable dic = Hashtable.Synchronized(new Hashtable());

第二步:构造“SET”or"GET"方法:

Set:


Get:


第三步:将“PropertyInfo”添加到字典中:


(1)


(2)


(3)

以上便是通过“字典”的方式来加速对象的反射,详细代码可以访问我的Github。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容