.NET内省与反思

.NET内省与反思,.net,reflection,introspection,.net,Reflection,Introspection,内省和.NET中的反思有什么区别?它们是同一个整体的两部分 内省指的是一个类查看自身“内部”的能力,例如,查看一个方法采用的参数、其成员的名称等 反射是.NET如何实现内省的特定名称。其他语言可能会将其称为不同的语言(C++将其有限的内省称为RTTI,用于获取运行时类型信息)。内省是在以下情况下引入的: FxCop 1.30的新功能是 现在通过一个 一种叫做内省的技术。这个 内省引擎的使用允许 以获得更快的分析和支持 多线程分析。不像 以前版本的反射引擎 版本,在内省引擎中 您正在分析的程序集是

内省和.NET中的反思有什么区别?它们是同一个整体的两部分

内省指的是一个类查看自身“内部”的能力,例如,查看一个方法采用的参数、其成员的名称等


反射是.NET如何实现内省的特定名称。其他语言可能会将其称为不同的语言(C++将其有限的内省称为RTTI,用于获取运行时类型信息)。

内省是在以下情况下引入的:

FxCop 1.30的新功能是 现在通过一个 一种叫做内省的技术。这个 内省引擎的使用允许 以获得更快的分析和支持 多线程分析。不像 以前版本的反射引擎 版本,在内省引擎中 您正在分析的程序集是 没有锁,所以你不需要关上 关闭FxCop进行修复并重新编译 这些组件中的一个。最后是 内省引擎提供了一个 更丰富的分析基础设施 与反射引擎相比


你可能需要更具体地说明你所说的“内省”是什么意思。你是说像莫诺,塞西尔?还是警察?或者其他特定的东西?+1-我不知道另一个答案是如何获得更多选票的,这实际上回答了这个问题。在.NET中,特别是在Microsoft.Cci.dll中,内省是指在不将程序集加载到应用程序域的情况下检查程序集的过程。反射要求加载程序集。从这个意义上说,反射查看构成当前进程的类型,而内省是进程查看自身不在“内部”的程序集的一种方式。这段引文明确了它,但没有直接指出.NET世界中的差异。反射只能针对加载的程序集,并且受CLI类型系统中元数据的限制。相比之下,内省查看外部程序集,基本上可以访问文件中的所有二进制数据。这意味着内省不受类型系统的限制,因此可以推断出没有通过类型系统公开的其他细节。