当前位置:  开发笔记 > 编程语言 > 正文

如何有效地在装配体中找到特定类型*?

如何解决《如何有效地在装配体中找到特定类型*?》经验,为你挑选了0个好方法。

我正在寻找一种更有效的方法来查找从已知特定类型派生的程序集中的类型.基本上,我的应用程序中有一个插件架构,并且我们一直这样做的时间最长:

For Each t As Type In assem.GetTypes()
    If t.BaseType Is pluginType Then
        'Do Stuff here'
    End If
Next

一些插件有很多类型,我们开始看到这需要几秒钟.有什么办法我可以要求所有类型为BaseType为"pluginType"的类型?

编辑:我过度简化了我的代码示例.我在实际代码中使用.GetExportedTypes().但是,我很多课程被标记为公共,所以它没有太多帮助.我梳理了项目并标记了除了实际插件类之外的所有"朋友",并且它仍然需要几乎相同的时间来检查程序集.我在1.3秒内切断了100毫秒(小于10%).这只是我必须处理的最短时间吗?我也尝试了装配属性建议,它仍然没有产生太大的差异(可能再次100ms).剩下的时间是动态加载程序集必须支付的开销吗?

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有