reflection - 什么是反射?

标签 reflection metaprogramming

我对 ASP.NET 非常陌生。我有 VB6/ASP(经典)/SQL Server 2000 背景。我阅读了很多有关 Visual Studio 2008 的内容(已经安装并正在研究)。我读过有关“反射”的内容,并希望有人尽可能向我上面编写的技术的老开发人员解释反射到底是什么以及为什么我会使用它......我很难理解我的头脑围绕着这个。谢谢!

最佳答案

反射是您如何探索不同类型的内部结构,而无需通常访问(即私有(private)、 protected 等成员)。

它还用于动态加载 DLL 并访问其中定义的类型和方法,而无需将它们静态编译到项目中。

简而言之:Reflection 是用于窥探代码背后的工具包。

至于为什么要用它,一般只是在复杂的情况下使用,或者是代码分析。另一个常见用途是将预编译的插件加载到您的项目中。

关于reflection - 什么是反射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/171366/

相关文章:

scala - 是否有可能实现(在 Scala 中)自动实现包装类方法的多态包装类?

c# - 在 C# 中获取泛型类型的用户友好名称

Ruby:如何将多个方法调用与 "send"链接在一起

grails - Grails-全局通用的制作方法和元类编程

ruby - 像 Rails 中的 before_filter 一样执行方法

java - 通过反射访问main方法中的局部变量

java - 设置私有(private)静态字段的值

python - 属性错误 : 'module' object has no attribute '__file__' (own module installed using pip)

python - 是否可以使用 Python 元类反向继承?

scheme - Racket "eval"一个数据