首次调用dll时执行代码

时间:2010-09-22 10:39:45

标签: c# class-library

我是一个c#类库。无论如何,方法可以在第一次调用时运行,并且仅在第一次调用dll时运行?即。类似于Web应用程序 - global.asax - Application_Start方法。

3 个答案:

答案 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"); 
   }
}