gpt4 book ai didi

c# - 插件架构中的反射与属性

转载 作者:行者123 更新时间:2023-11-30 13:12:44 24 4
gpt4 key购买 nike

我正在开发一个在启动时从子目录加载插件的应用程序,目前我正在通过使用反射来迭代每个程序集的类型并查找实现 IPluginModule 接口(interface)的公共(public)类来实现这一点。

由于 Reflection 涉及到性能损失,而且我预计一段时间后会有几个插件,我想知道定义一个在程序集级别应用的自定义属性是否有用,可以在迭代类型之前检查该属性(一个程序集中可能有十几种类型,包括 1 个 IPluginModule 的实现者)。

该属性(如果存在)然后可以提供一种方法来返回所需的类型或实例,并且对这些类型进行迭代将只是一种回退机制。将类型信息存储在配置文件中不是一种选择。

这会提高性能,还是与从存储中加载程序集实际花费的时间相比无关紧要?此外,这种用法是否适合某个属性?

最佳答案

我会用一个问题来回答你的问题:你为什么担心这个?

您担心在一次性操作中可能性能受到影响,因为以后可能会有多个插件。

除非您的应用程序启动时间对用户来说过长,否则我不会浪费时间考虑它 - 可能有很多更好的事情可以用来改进您的应用程序。

关于c# - 插件架构中的反射与属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/934762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com