2010-02-19 86 views
1

有没有办法让类库检测它何时被加载,以执行一些初始化? 我已经尝试添加Program.cs与静态主要方法,这并没有帮助。我尝试在项目属性中设置启动对象,但只有(无)可用。检测类库的加载

我知道Win32库有入口点,.NET类库有它们吗?

+0

你的问题不清楚。你在寻找与.net或windows相关的东西吗? .NET没有与Windows库相同的加载器概念。 – 2010-02-19 18:14:25

回答

3

你不能直接在C#或VB.NET中使用它,但CLR本身支持Module Initializers,我认为这是你要求的。您通常需要使用ilasm才能将其关闭。

它看起来像有人也想出了使用Mono.Cecil的方法do it in C#。它仍然非常复杂。你最好使用静态构造函数,如果你知道某个特定的类型会在程序集加载后被引用。否则 - 祝你好运。

+0

另请参阅http://www.yoda.arachsys.com/csharp/beforefieldinit.html – TrueWill 2010-02-19 18:37:03