有人建议我不要使用反射。我真的很想知道,是因为反射很贵吗?如果不是,那么避免使用它的原因是什么?
我当前和未来的项目可能还需要访问任何给定的类成员信息。因为我有时需要列出字段和属性 - 值或声明名称。
所以我想知道的是:
反射是如何工作的?它是如何获取信息的?(一个简短的解释就可以了)
为什么不建议在应用程序中使用反射?如果您确实需要获取作为字段或属性值或名称的所需信息,您可以不使用 System.Reflection 来完成吗?
一些背景。
我当前项目中的用法(例如)是列出特定的 sql server 表列名称或 SQL 表名称。
我可以想出其他方法让它返回为List<strings>
.
如果我真的知道它为什么或有多“糟糕”,使用reflection
,
..如果我真的想避免它,我可以做出决定,因为我可能会找到一种替代方法(在这种特定情况下)。
通过在我需要(例如)表名列表的任何时候访问数据库(不优选),或者我可以执行一次(访问数据),然后将其存储在文本文件或 xml 中,如果我真的必须避免反射的话。
我也知道一些更优雅的。但这不是问题。(这只是一个示例,因为可能还有许多其他用例,您可能知道。)
更新
此问题已关闭,请帮助重新打开它,并在下面投票“重新打开”
谢谢 。