遍历应用程序中所有加载的模块,并查看是否正在导出某个函数
本文关键字:是否 函数 应用程序 加载 模块 遍历 | 更新日期: 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;
}