使用它绝对是一个好的做法吗?
项目中有哪些可能的情况需要反思?
反射的主要价值在于它可用于检查程序集、类型和成员。它是一个非常强大的工具,用于确定未知程序集或对象的内容,并且可用于多种情况。
Reflection 的反对者会说它很慢,与静态代码执行相比确实如此——但是 Reflection 在整个 .NET 框架中都得到了使用,并且只要它不被滥用,它就可以成为工具包中非常强大的工具。
一些有用的应用程序:
确定程序集的依赖关系
符合接口、派生自基类/抽象类并通过属性搜索成员的位置类型
(臭味)测试 - 如果您依赖于一个不可测试的类(即它不允许您轻松构建假的),您可以使用反射在类中注入假值 - 它不漂亮,也不推荐,但是它可以是一个方便的工具。
调试 - 转储已加载程序集的列表、它们的引用、当前方法等...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)