我的程序集中有许多入口点,我希望在运行此程序集中的任何其他代码之前,每个Appdomain执行一次初始化代码。最好的方法是什么?
我看到的一个解决方案是有一个带有静态构造函数的类,并从中继承我的每个入口点。像这样的:

public class Initializer
{
    static Initializer()
    {
        EnsureInitialized();  // Calls initialization code once and only once
    }
}

public class EntryPointOne : Initializer, IEntryPoint
{
    // Some code here
}

public class EntryPointTwo : Initializer, IEntryPoint
{
    // Some code here
}

// etc.

这使我可以避免在每个入口点编写锅炉板静态构造函数,但如果没有多重继承,这并不总是可能的。你能想出其他更好的选择吗?

最佳答案

检查Module initializers in C#

07-28 05:55