遍历应用程序中所有加载的模块,并查看是否正在导出某个函数

本文关键字:是否 函数 应用程序 加载 模块 遍历 | 更新日期: 2023-09-27 17:56:14

在我的应用程序中获取加载模块的列表后,我想遍历所有这些模块,看看这些模块中是否有任何正在导出某个函数。

如何检查模块是否正在导出函数?

遍历应用程序中所有加载的模块,并查看是否正在导出某个函数

有几种方法:

 Type IType = Type.Assembly.Load("YourProjectName").GetType("FunctionName");
 if (IType == null)
 {  
     Text = "Function Not Exist";
 }
 else
 {
     Text = "Function  Exist";
 }

或者通过使用 Linq:

var isImplemented = Assembly.GetExecutingAssembly().
                         GetTypes().
                         Any(t => t.IsAssignableFrom(typeof (FunctionName)));

或:

var isImplemented = false;
foreach (var t in Assembly.GetExecutingAssembly().GetTypes())
{
   if (!t.IsAssignableFrom(typeof (FunctionName))) continue;
   isImplemented = true;
   break;
}