在.NET中,内省和反射有什么区别?
它们是同一整体的两部分。
内省指的是一个类能够“内部”查看自身并了解方法参数、成员名称等信息的能力。
反射是.NET实现内省的具体名称。其他语言可能会称之为不同的名称(例如,C++将其有限的内省称为运行时类型信息RTTI)。
Introspection是在2004年作为Reflection的替代品被引入FxCop。FxCop 1.30中的新功能是通过一种称为Introspection的技术进行分析。使用Introspection引擎可以实现更快的分析并支持多线程分析。与以前版本的Reflection引擎不同,在Introspection引擎中,您正在分析的程序集不会被锁定,因此您无需关闭FxCop来修复和重新编译这些程序集。最后,与Reflection引擎相比,Introspection引擎提供了更丰富的分析基础设施。