在我的应用程序中获取已加载模块的列表后,我想遍历所有这些模块并查看这些模块中是否有任何模块正在导出某个功能。
如何检查模块是否正在导出功能?
有几种方法:
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;
}