搜索方法更快

时间:2010-09-28 10:50:36

标签: c# .net vb.net reflection

我正在尝试搜索33 .dll以查找方法的引用,通过所有dll并查找引用需要10分钟以上。 有没有办法加快速度。

这些dll中的每一个大约有450个类,每个类每个大约有200个方法

我遵循的步骤:

assemblyName = System.IO.Path.GetFullPath(file)
assembly = System.Reflection.Assembly.LoadFile(assemblyName)

Dim types = assembly.GetTypes()
For Each Type In types
  methods = Type.GetMethods()
  For Each method In methods
    'save method info, class type
  Next
Next

2 个答案:

答案 0 :(得分:1)

您可以浏览33个库并将搜索结果存储在数据库中。然后,不是询问你的图书馆,问你的数据库,它会更快,并给你直接敲门...(我的意思是你可以直接指向好的图书馆和好的班级,以获得更多的信息或实现一些对象,...)

我的评论不是那么清楚所以我更新了我的答案。

在启动新版本之前,您需要使用项目的新值填写数据库,并使用指向您的课程版本的键。这样做,在启动新应用程序时,您将不必等待10分钟才能获得您的资料,因为您已经使用了10分钟,隐藏,以填充数据库。如果您的应用程序重新启动但库中没有任何更改,那么信息仍然会在此处,因为版本将是相同的。

祝你的项目好运...

答案 1 :(得分:1)

我知道很多花哨的工具,包括PostSharpNDepend(这是一个很棒的工具)使用Cecil。对于某些东西,它应该比.NET反射更好。

尝试一下......