【发布时间】:2008-09-16 15:06:58
【问题描述】:
.NET 中的自省和反射有什么区别
【问题讨论】:
-
您可能需要更具体地了解“内省”的含义。你的意思是像Mono.Cecil?还是 FxCop?还是其他具体的东西?
标签: .net reflection introspection
.NET 中的自省和反射有什么区别
【问题讨论】:
标签: .net reflection introspection
它们是同一个整体的两个部分。
自省是指一个类“内部”观察自身的能力,例如,一个方法采用什么参数,它的成员的名称是什么,等等。
反射是 .NET 如何实现自省的特定名称。其他语言可能称之为不同的东西(C++ 将其有限的自省称为 RTTI,用于运行时类型信息)。
【讨论】:
自省是通过FxCop in 2004 as an alternative to Reflection 引入的:
FxCop 1.30 的新功能是它 现在通过 a 执行分析 称为内省的技术。这 Introspection 引擎的使用允许 更快的分析和支持 多线程分析。不像 以前的反射引擎 版本,在 Introspection 引擎中 您正在分析的程序集是 未锁定,因此您无需关闭 关闭 FxCop 进行修复并重新编译 那些组件。最后, 内省引擎提供了很多 更丰富的分析基础设施 与反射引擎相比。
【讨论】: