检查组件是否已加载

本文关键字:加载 是否 组件 检查组 检查 | 更新日期: 2023-09-27 18:26:26

是否有一种编程方式来确定程序集本身何时加载?

我知道如何在执行程序集之外检查已加载的程序集,但我希望从将要加载的程序集中"内部"进行检查。

通过这种方式,我可以确定应用程序(使用加载的程序集)已经启动,但我加载的程序集中没有任何类被实例化/到目前为止还没有调用任何方法。

检查组件是否已加载

您要查找的是在加载模块/程序集时调用的函数。在.NET之前的世界里,它是DllMain函数。.NET中存在相应的函数,但无论出于何种原因,您都无法在C#或VB.NET中仅在C++/CLI中创建它。它被称为模块构造函数。您可以操作程序集来注入这样的模块构造函数。因此,每当加载程序集时,在进一步访问该程序集之前,都会从程序集内部调用此函数。如何做到这一点在这里解释:http://einaregilsson.com/module-initializers-in-csharp/