我是一个c#类库。无论如何,方法可以在第一次调用时运行,并且仅在第一次调用dll时运行?即。类似于Web应用程序 - global.asax - Application_Start方法。
答案 0 :(得分:2)
在接口对象上有一个静态初始化程序。但是,您应该只通过DLL公开此接口类,并将所有其他函数调用内部。
public class DllInterface
{
static DllInterface()
{
// Do initialization magic here
}
// Do other stuff
}
答案 1 :(得分:2)
我搜索了一会儿,发现this site。它看起来非常有前途,但我没有时间自己测试它。
(目前该网站已停机进行维护。以下是google cache的网站。)
答案 2 :(得分:1)
有趣的问题。我不知道在c#中你能做到这一点,但我不这么认为。你可以做的是创建一个静态构造函数,它将在类中的任何其他调用之前被调用:
public class Foo
{
static Foo()
{
Console.WriteLine("called first time only");
}
public Foo()
{
Console.WriteLine("called every new object");
}
}